HTTP消息头字段深入介绍(3)

http://www.itjxue.com  2015-08-06 23:11  来源:未知  点击次数: 

 

三、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个字节。

(责任编辑:IT教学网)

更多

推荐Javascript/Ajax文章