当前位置 : 主页 > 网页制作 > html >

web服务(1)简介

来源:互联网 收集:自由互联 发布时间:2021-06-12
web服务(1)简介 1.HTTP协议 超文本传输协议(HyperText Transfer Protocol)是互联网上应用最广泛的一种网络协议。 所有的WWW文件都必须遵循这个标准。设计HTTP最初的目的就是为了提供一种发布

web服务(1)简介

1.HTTP协议

  • 超文本传输协议(HyperText Transfer Protocol)是互联网上应用最广泛的一种网络协议。
  • 所有的WWW文件都必须遵循这个标准。设计HTTP最初的目的就是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本,这成为了HTTP超文本传输协议标准架构的发展根基。

    2.http版本

    2.1版本

  1. HTTP/0.9
  • 已过时。只接受 GET 一种请求方法,没有在通讯中指定版本号,且不支持请求头。由于该版本不支持 POST 方法,所以客户端无法向服务器传递太多信息。
  1. HTTP/1.0
  • 这是第一个在通讯中指定版本号的HTTP协议版本,至今仍被广泛采用,特别是在代理服务器中。
  1. HTTP/1.1
  • 当前主流版本。持久连接被默认采用,并能很好地配合代理服务器工作。还支持以管道方式同时发送多个请求,以便降低线路负载,提高传输速度。

2.2 HTTP/1.1比1.0主要优化

  1. 缓存处理
  2. 带宽优化及网络连接的使用
  3. 错误通知的管理
  4. 消息在网络中的发送
  5. 互联网地址的维护
  6. 安全性及完整性

3.http报文结构

3.1请求报文

3.1.1结构

分享图片

3.1.2 抓包实例

分享图片

3.1.3 常见的请求头部属性

  1. Accept
  • 请求报文可通过一个Accept报文头属性告诉服务端,客户端接收什么类型的响应。
  1. Cookie
  • 客户端的Cookie就是通过这个报文头属性传给服务端的(Cookie用于保存会话状态)
  1. Referer
  • 表示这个请求是从哪个URL过来的鹅,加入你通过baidu搜索出一个商家的广告页面,你对这个广告页面感兴趣,鼠标一点就是发送一个请求页面到商家的网站,这个请求报文的Referer报文头属性值就是http://www.baidu.com
  1. Cache-Control
  • 对缓存进行控制,如一个请求希望希望响应返回的内容在客户端要被缓存一年,或不希望被缓存就可以通过这个报文头达到目的。
  1. 其他属性参照下面链接
    http://en.wikipedia.org/wiki/List_of_HTTP_header_fields

3.2响应报文

3.2.1 结构

分享图片

3.2.2 抓包实例

分享图片

  • media type表示相应体

    3.2.3 响应头部书香

  1. Cache-Cntrol
  • 响应输出到客户端后,服务器通过该报文头属性告诉客户端如何控制响应内容的缓存
  • eg:Cache-Control:max-age=3600
  1. Set-Cookie
  • 服务端可以设置客户端的Cookie,其原理就是通过这个响应报文头属性实现的
  1. 其他响应报文头部属性参考下面链接
    http://en.wikipedia.org/wiki/List_of_HTTP_header_fields

4.请求方法

  1. GET
  • 客户端请求指定资源,服务端返回指定资源
  1. PUT
  • 通常用于向服务器发送请求,如果URI不存在,则要求服务器根据请求创建资源,如果存在,服务器就接收请求内容,并修改URI资源的原始版本。(上传文件时用到)
  1. POST
  • 将客户端的数据提交到服务器(注册数据时会用到)
  1. OPTION
  • 请求服务器支持的方法
  1. HEAD
  • 只请求响应报文的头部信息
  1. DELETE
  • 请求服务器删除指定资源

5.响应状态码

  1. 1XX类:信息响应类,表示接收到请求并且继续处理
  2. 2XX类:处理成功响应类,表示动作被成功接收/理解和接收(200)
  3. 3XX类:重定向响应类,为了完成指定的动作,必须接收进一步处理。(301)
  4. 4XX类:客户端错误,客户请求包含语法错误或者是不能正确执行(404)
  5. 5XX类:服务端错误,服务器不能正确执行一个正确的请求(503)
  • 常见HTTP状态吗
    https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

6.MIME类型

  • 服务端指定的文件传输类型,对各种文件进行分类,浏览器收到后再根据相应的工具打开。
MIME 文件类型 text/html html页面 text/piain 纯文本文件 text/css 层级样式表 text/xml 标记语言 image/gif gif图片 image/jpeg jpg图片 application/javascript js vedio/mp4 mp4 vedio/x-flv flv

7.URL统一资源定位符

  • (Uniform Resource Locator)URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序

    7.1URL结构

  • 协议://[用户名:密码@]主机名.域名.顶级域名[[:端口号]/目录/文件名.文件后缀?参数=值#标志]
  • http:http://www.xb.com/index.html | ftp:ftp://test:[email protected] 还有telnet、https等协议

8.http事务

分享图片

9.静态页面与动态页面

9.1静态页面

  • 纯粹的html网页,不包含后台数据库及动态程序(php,jsp,asp等),如:图片、视频、JS(JavaScript网页交互)、CSS(样式表)等
  • 静态网页URL:如http://slide.news.sina.com.cn/w/slide_1_2841_183418.html(指向某个资源的路径)
  • 优点:内容由客户端浏览器解析,服务端只需要将内容发送给客户端,同时不需要读写数据库,性能和效率很高
  • 缺点:后端没有数据库支持,用户体验差,功能少

9.2动态页面

  • 包含包含动态程序(php,jsp,asp等),一般需要与后台数据库交互,可以实现比静态更多的功能,如用户注册,用户登录,论坛,排行榜等
  • 由服务端运行后再将结果返回给客户端

10.网站流量度量术语

  1. IP
  • 指独立IP数。00:00-24:00内相同IP地址只被算做一次
  1. PV
  • Page View,页面点击量/浏览量,用户每次刷新即被算作一次
  1. UV
  • UniQue Page,访问网站的一台电脑客户端为一个方可00:00-24:00内相同的客户端只被算作一次
  1. 并发量
  • 同一时间用户请求数

11.主流的web服务器

  1. apache
  2. nginx
  3. lighttpd
  • 静态资源解析效率很高,不温不火的web服务器
  1. IIS
  • 微软下的web服务器
  1. tomcat
  • 轻量级web服务器,主要用于解析jsp和servlet(主要用于Java开发的)

  • apache和nginx的详细介绍将在接下来的文章中介绍

12.提供动态页面解析的服务

  1. php
  • 在apache中以模块形式存在(mod_php5.so)被apache加载;而在nginx中以fastcgi守护进程来处理php解析工作。
  • 相应概念理解可参考https://www.awaimai.com/371.html
  1. tomact
  • 解析Jsp应用
  1. python
  • 解析python应用
网友评论