您的位置:首页 > 理论基础 > 计算机网络

Http协议详解

2015-10-15 11:30 597 查看

Http协议

Http协议请求头

Http的请求分为三个部分:

请求头

行信息

请求体

下面是安装了tomcat后localhost网站获取的请求头

GET / HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: zh-CN
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding: gzip, deflate
Host: localhost
Connection: Keep-Alive

GET / HTTP/1.1
表示发送的是Get请求,请求时HTTP协议的版本为1.1

Accept: text/html, application/xhtml+xml, */*
Accept表示的是客户端可接受的类型

Accept-Language: zh-CN
Accept-Language:客户端浏览器语言

User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
User-Agent:表示的是用户使用的请求环境即客户端浏览器版本

Accept-Encoding: gzip, deflate
Accept-Encoding:表示客户端可以识别的压缩数据格式

Host: localhost
Host:表示的是用户访问的服务器地址

Connection: Keep-Alive
Connection:表示盖茨请求连接后,连接是保持或关闭


在上面的请求中还有几个常见但未使用到的键值对

Accept-Charset:ISO-8859-1
Accept-Charset:表示的客户端可识别的编码字符集,也就是说服务器发送过来的响应文件都会按照该字符编码集进行解码

If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT
该请求资源在客户端保存最后访问时间

Referer: http://www.itcast.com/index.jsp 上一次请求访问的页面
防盗链的产生,控制来源的,如果不是本网站上的跳转,可以重定向到当前的主页面


Http协议之响应头

Http协议的响应分为以下几个部分:

状态行

响应头

响应体

额外的解释

状态行是携带Http协议,状态码,描述信息


这里是向tomcat服务器发送请求后得到的响应头,返回的html文件省略

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
ETag: W/"7347-1184876416000"
Last-Modified: Thu, 19 Jul 2007 20:20:16 GMT
Content-Type: text/html
Content-Length: 7347
Date: Sat, 10 Oct 2015 10:11:59 GMT

HTTP/1.1 200 OK
表示的是使用Http协议1.1 状态码200

Server: Apache-Coyote/1.1
服务器类型

ETag: W/"7347-1184876416000"
If-Modified-Since:这个选项控制缓存的最后更改时间精确度最多到秒
ETag:这个选项可以将缓存的最后更改时间精确度控制到毫秒
客户端下次请求时,将携带If-None-Match携带ETag信息
文件长度7347而1184876416000是标准时间,精确到毫秒

Last-Modified: Thu, 19 Jul 2007 20:20:16 GMT
文件的最后修改时间
和请求头信息If-Modified-Since一起使用,控制服务器缓存

Content-Type: text/html,charset=GB2312
响应的数据类型

Content-Length: 7347
响应的数据长度

Date: Sat, 10 Oct 2015 10:11:59 GMT
响应时间


额外的键值对的使用

Location: http://www.it315.org/index.jsp 请求重定向,一般与302的状态码一起使用
在重定向的使用中,有两次请求,两次响应


疑问区

在设置了默认的欢迎页面后,发送了两次请求
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息