亲宝软件园·资讯

展开

HTTP协议常用的请求头和响应头响应详解说明(学习)

人气:0

通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。HTTP请求头提供了关于请求,响应或者其他的发送实体的信息。HTTP的头信息包括通用头、请求头、响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。

一、前言

一次完整的HTTP请求所经历的7个步骤

说明:HTTP通讯机制是在一次完整的HTTP通讯过程当中,web浏览器与web服务器之间将完成下列7个步骤:缓存

 

二、Http请求头:

1、Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

  意思:浏览器支持的请求 MIME 类型分别是 text/html、application/xhtml+xml、application/xml 和 */*,优先顺序是它们从左到右的排列顺序

  详解:

  Accept表示浏览器支持的 MIME 类型;

  MIME的英文全称是 Multipurpose Internet Mail Extensions(多功能 Internet 邮件扩充服务),它是一种多用途网际邮件扩充协议,在1992年最早应用于电子邮件系统,但后来也应用到浏览器。

  text/html,application/xhtml+xml,application/xml 都是 MIME 类型,也可以称为媒体类型和内容类型,斜杠前面的是 type(类型),斜杠后面的是 subtype(子类型);type 指定大的范围,subtype 是 type 中范围更明确的类型,即大类中的小类。

  Text:用于标准化地表示的文本信息,文本消息可以是多种字符集和或者多种格式的;

  text/html :表示 html 文档;

  Application:用于传输应用程序数据或者二进制数据;

  application/xhtml+xml :表示 xhtml 文档;

  application/xml:表示 xml 文档。

2、 Accept-Encoding:gzip, deflate

  意思:浏览器支持的压缩编码是 gzip 和 deflate。

  详解:

  Accept-Encoding表示浏览器有能力解码的编码类型;

  gzip是 GNU zip 的缩写,它是一个 GNU 自由软件的文件压缩程序,也经常用来表示 gzip 这种文件格式。

  deflate是同时使用了 LZ77 算法与哈夫曼编码(Huffman Coding)的一个无损数据压缩算法。

3、 Accept-Language:zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3

  意思:浏览器支持的语言分别是中文和简体中文,优先支持简体中文。

4、 Connection:keep-alive;

  Connection表示客户端与服务连接类型;

  Keep-Alive表示持久连接;

  如果Servlet看到这里的值为“Keep - Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接),它就可以利用持久连接的优点,当页面包含多个元素时(例如Applet,图片),显著地减少下载所需要的时间。要实现这一点,Servlet需要在应答中发送一个Content - Length头,最简单的实现方法是:先把内容写入ByteArrayOutputStream,然后在正式写出内容之前计算它的大小。

5、 Cookie:JSESSIONID=2B5F5F6380CA6339CEF98AD9A9E95AB4

  缓存的sessionID和浏览器中的缓存,没有缓存是无法实现session相关功能的。

6、 Host:localhost:8080

  Host表示请求的服务器网址;

7、 User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:55.0) Gecko/20100101 Firefox/55.0

  意思:使用的用户代理是 Mozilla/5.0 (compatible; 域名)。

8、 Pragma

  指定“no - cache”值表示服务器必须返回一个刷新后的文档,即使它是代理服务器而且已经有了页面的本地拷贝,常用来禁止缓存。

三、 Http响应头

1、 Content-Language:zh-CN

  响应的语言类型,中文简体

2、 Content-Length:317

  响应的内容的长度

3、 Content-Type:text/html;charset=UTF-8

  响应具体MIME类型

4、 Date:Thu, 07 Sep 2017 14:34:35

  响应时间

5、 GMTServer:Apache-Coyote/1.1

  响应的服务器类型

6、 HTTP/1.1 200 OK

  响应的状态码

  详解:

  在本例中,状态行给出的HTTP状态代码是200,以及消息OK。状态行始终包含的是状态码和相应的简短消息,以避免混乱。最常用的状态码有:
  ◆200 (OK): 找到了该资源,并且一切正常。
  ◆304 (NOT MODIFIED): 该资源在上次请求之后没有任何修改。这通常用于浏览器的缓存机制。
  ◆401 (UNAUTHORIZED): 客户端无权访问该资源。这通常会使得浏览器要求用户输入用户名和密码,以登录到服务器。
  ◆403 (FORBIDDEN): 客户端未能获得授权。这通常是在401之后输入了不正确的用户名或密码。
  ◆404 (NOT FOUND): 在指定的位置不存在所申请的资源。

  ◆500:服务器异常。  

加载全部内容

相关教程
猜你喜欢
用户评论