HTTP消息头字段深入介绍

莫欺哥们木有媳

莫欺哥们木有媳

2016-02-20 01:02

下面图老师小编要向大家介绍下HTTP消息头字段深入介绍,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!

 

一、通用头字段

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

1. Connection

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

这个字段只在HTTP1.1协议中存在。它决定了客户端和服务器进行了一次会话后,服务器是否立即关闭网络连接。在客户端最直接的表现是使用read方法(readLine方法也是一样)读完客户端请求的Web资源后,是否立即返回-1(readLine返回null)。Connection有两个值:Close和Keep-Alive.当使用Connection:Close时,和HTTP1.0协议是一样的,当read方法读完数据时立即返回;而使用Connection:Keep-Alive时,read方法在读完数据后还要被阻塞一段时间。直接读取数据超时时间过后,还继续往下执行。在上一篇文章中讨论的readHttpResponse()方法实现的第011行可以验证Connection的作用。下面让我们来使用HTTP模拟器来做一个实验。

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

(1)在HTTP模拟器中输入如下的域名:

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

www.baidu.com

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

(2)HTTP模拟器中输入如下的HTTP请求信息:

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

GET / HTTP/1.1   Host: www.baidu.com

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

(3)按两下回车(输入一个空行)后,发送请求消息,并得到如图1如示的HTTP响应消息头:

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)
图1

(4)输入y或Y后(在显示http响应头后,要立刻输入Y或y),显示响应消息的内容。在显示完内容后,大约过了10秒钟才进入"host:port"提示符(因为在sendHttpRequest()的实现代码中的004行设置了读取数据超时)。

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

(5)在"host:port"提示符下直接按回车,输入最近一次使用的域名www.baidu.com和80端口。再次输入如下的HTTP请求:

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

GET / HTTP/1.1Host: www.baidu.comConnection: close

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

输入完以上的HTTP请求后,重新执行第3、4步操作。最后在显示HTTP响应消息内容后,直接直入了"host:port"提示符。除了这种方法,将请求的第一行改为GET / HTTP/1.0.这样也可以无需等待直接结束。

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

通过设置Connection,可以在下载Web资源(如多线程下载工具、Web浏览器等)后,立即断开网络连接,这样可以有效地降低客户机的资源消耗。

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

2. Date

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

这个Date头字段描述了请求消息和响应消息被创建的时间。这个字段值是一个HTTP-date类型,它的格式必须是GMT(格林尼治)时间,GMT时间是就是北京时间减8小时。下面是Date字段的一个例子:

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

Date: Tue, 15 Nov 2007 08:12:31 GMT

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

3. Content-Length

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

指定消息实体的字节数。在请求消息中POST方法必须使用Content-Length来指定请求消息的实体内容的字节数。在响应消息中这个字段值指定了当前HTTP响应所返回的Web资源的字节数。

展开更多 50%)
分享

猜你喜欢

HTTP消息头字段深入介绍

Web开发
HTTP消息头字段深入介绍

八、设置HTTP应答头

Java JAVA基础
八、设置HTTP应答头

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

五、读取HTTP请求头

Java JAVA基础
五、读取HTTP请求头

用clientsocket发送http头请求

编程语言 网络编程
用clientsocket发送http头请求

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

HTTP错误代码详细介绍

电脑入门
HTTP错误代码详细介绍

深入理解Delphi的消息机制

Delphi
深入理解Delphi的消息机制

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

7种常见的PPT设计元素 让PPT成为夺人眼球的艺术品

7种常见的PPT设计元素 让PPT成为夺人眼球的艺术品

网页漂浮广告的关闭的实现代码

网页漂浮广告的关闭的实现代码
下拉加载更多内容 ↓