HTTP消息头字段深入介绍
2014-10-15 13:44
211 查看
原文地址:点击打开链接 http://www.webjx.com/javascript/jsajax-13807_3.html
HTTP响应消息头字段
1. Accept-Ranges
这个字段说明Web服务器是否支持Range(是否支持断点续传功能),如果支持,则返回Accept-Ranges: bytes,如果不支持,则返回Accept-Ranges: none.
2. Content-Range
指定了返回的Web资源的字节范围。这个字段值的格式是:
开始字节位置—结束字节位置/Web资源的总字节数
下面是一个使用Content-Range的例子:
Content-Range:1000-3000/5000
测试
在HTTP模拟器中连接服务器files.cnblogs.com,并输入如下的HTTP请求消息:
返回的响应消息头如图2所示:
图2
从上图可以看出,服务器files.cnblogs.com支持断点继传功能。而且还可以验证Content-Length的值是当前会话传过来的字节数,并不是Web资源的总的字节数。而Content-Range字段值中"/"后面的数才是Web资源总的字节数。
3. Location
这个字段指定了上哪个新地址获得新的Web资源。当Web资源更换URL后,而一些老用户不能及时得知这个新的URL;因此,在老用户访问原来的URL时,使用Location将这个新的URL返回给客户端。这个地址转换对用户来说是完全透明。
二、HTTP请求消息头字段
1. Host
Host字段用于指定客户端所访问的资源所在的主机名和端口号。如果端口号等于连接服务器时所使用的端口号,则端口号可以省略。下面是一个使用Host字段的一个例子:
这个字段是必须的,如果HTTP请求不包含这个字段,服务器将返回400(Bad Request)响应状态。
2. Accept
Accept字段头确定客户端可以接收的媒体类型。一般的格式是"*/*"或"类型/"子类型".这个子段头可以传递多个媒体类型,中间用","隔开。如下面是一个Accept的例子:
如果请求头使用上述的Accept字段值,则服务器端在动态生成网页的IMG头时将首先包含gif格式的图像,如果gif图象不存在,则包含jpg格式的图象。
3. User-Agent
这个字段头用于指定客户端是用什么访问的服务器,如果是IE6浏览器,并且本机安装了。net 2.0,则User-Agent会有如下的值:
服务器可以通过这个字段检查客户机的浏览器版本,并根据不同的版本来确定向客户端发送的数据。
4. Range
Range字段头通过服务器只传输一部分Web资源。这个字段头可以用来实现断点续传功能。有很多下载工具就是通过这个字段头进行断点续传的。Range字段可以通过三种格式设置要传输的字节范围:
(1)Range: bytes=1000-2000
传输范围从1000到2000字节。
(2)Range: bytes=1000-
传输Web资源中第1000个字节以后的所有内容。
(3)Range bytes=1000
传输最后1000个字节。
HTTP响应消息头字段
1. Accept-Ranges
这个字段说明Web服务器是否支持Range(是否支持断点续传功能),如果支持,则返回Accept-Ranges: bytes,如果不支持,则返回Accept-Ranges: none.
2. Content-Range
指定了返回的Web资源的字节范围。这个字段值的格式是:
开始字节位置—结束字节位置/Web资源的总字节数
下面是一个使用Content-Range的例子:
Content-Range:1000-3000/5000
测试
在HTTP模拟器中连接服务器files.cnblogs.com,并输入如下的HTTP请求消息:
GET /nokiaguy/HttpSimulator.rar HTTP/1.1 Host: files.cnblogs.com Range: bytes=1000- |
返回的响应消息头如图2所示:
图2
从上图可以看出,服务器files.cnblogs.com支持断点继传功能。而且还可以验证Content-Length的值是当前会话传过来的字节数,并不是Web资源的总的字节数。而Content-Range字段值中"/"后面的数才是Web资源总的字节数。
3. Location
这个字段指定了上哪个新地址获得新的Web资源。当Web资源更换URL后,而一些老用户不能及时得知这个新的URL;因此,在老用户访问原来的URL时,使用Location将这个新的URL返回给客户端。这个地址转换对用户来说是完全透明。
二、HTTP请求消息头字段
1. Host
Host字段用于指定客户端所访问的资源所在的主机名和端口号。如果端口号等于连接服务器时所使用的端口号,则端口号可以省略。下面是一个使用Host字段的一个例子:
Host: www.sina.com.cn |
这个字段是必须的,如果HTTP请求不包含这个字段,服务器将返回400(Bad Request)响应状态。
2. Accept
Accept字段头确定客户端可以接收的媒体类型。一般的格式是"*/*"或"类型/"子类型".这个子段头可以传递多个媒体类型,中间用","隔开。如下面是一个Accept的例子:
Accept::image/gif,image/jpg |
如果请求头使用上述的Accept字段值,则服务器端在动态生成网页的IMG头时将首先包含gif格式的图像,如果gif图象不存在,则包含jpg格式的图象。
3. User-Agent
这个字段头用于指定客户端是用什么访问的服务器,如果是IE6浏览器,并且本机安装了。net 2.0,则User-Agent会有如下的值:
User-Agent: Mozilla/4.0 ( compatible; MSIE 6.0; Windows NT 5.2; SV1; Maxthon; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; InfoPath.2) |
服务器可以通过这个字段检查客户机的浏览器版本,并根据不同的版本来确定向客户端发送的数据。
4. Range
Range字段头通过服务器只传输一部分Web资源。这个字段头可以用来实现断点续传功能。有很多下载工具就是通过这个字段头进行断点续传的。Range字段可以通过三种格式设置要传输的字节范围:
(1)Range: bytes=1000-2000
传输范围从1000到2000字节。
(2)Range: bytes=1000-
传输Web资源中第1000个字节以后的所有内容。
(3)Range bytes=1000
传输最后1000个字节。
相关文章推荐
- 【Java核心技术】Http消息头深入介绍
- 深入理解HTTP消息头(三)
- 深入理解HTTP消息头
- HTTP消息头字段
- 《HTTP权威指南》:全面的HTTP协议的介绍,不够深入
- 深入理解HTTP消息头
- 深入理解HTTP消息头(一)
- HTTP消息头中的“Cache-control”介绍
- 转)深入理解HTTP消息头
- 转)深入理解HTTP消息头
- 浅析HTTP消息头网页缓存控制以及header常用指令介绍
- Java网络编程从入门到精通(23):HTTP消息头字段
- 深入理解HTTP消息头
- 深入理解HTTP消息头
- HTTP消息头字段
- 深入理解HTTP消息头--转
- Java网络编程从入门到精通:HTTP消息头字段
- 深入理解HTTP消息头
- 深入理解HTTP消息头
- HTTP消息头字段