HTTP协议常用的请求头和响应头响应详解说明(学习)
人气:0通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。HTTP请求头提供了关于请求,响应或者其他的发送实体的信息。HTTP的头信息包括通用头、请求头、响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。
一、前言
一次完整的HTTP请求所经历的7个步骤
说明:HTTP通讯机制是在一次完整的HTTP通讯过程当中,web浏览器与web服务器之间将完成下列7个步骤:缓存
- 创建TCP链接
- Web浏览器向web服务器发送请求命令 例如:GET /sample/hello.jsp HTTP 1.1
- Web浏览器发送请求头信息
- Web服务器应答 例如:HTTP/1.1 200 ok
- Web服务器发送应答头信息
- Web服务器向浏览器发送数据
- Web服务器关闭TCP链接
二、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:服务器异常。
加载全部内容