Java网络编程从入门到精通(23):HTTP消息头字段[Java编程]
本文“Java网络编程从入门到精通(23):HTTP消息头字段[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1、通用头字段
1.Connection
这个字段只在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模拟器来做一个实行.
(1)在HTTP模拟器中输入以下的域名:
www.百度.com
(2)HTTP模拟器中输入以下的HTTP恳求信息:
GET / HTTP/1.1
Host: www.百度.com
(3)按两下回车(输入一个空行)后,发送恳求消息,并得到如图1如示的HTTP呼应消息头:
图1
(4)输入y或Y后(在显示http呼应头后,要立即输入Y或y),显示呼应消息的内容.在显示完内容后,大约过了10秒钟才进入"host:port>"提醒符(因为在sendHttpRequest()的实现代码中的004行设置了读取数据超时).
(5)在"host:port>"提醒符下直接按回车,输入近来一次利用的域名www.百度.com和80端口.再次输入以下的HTTP恳求:
GET / HTTP/1.1
Host: www.百度.com
Connection: close
输入完以上的HTTP恳求后,重新履行第3、4步操作.最后在显示HTTP呼应消息内容后,直接直入了"host:port>"提醒符.除了这种办法,将恳求的第一行改成GET / HTTP/1.0.这样也可以无需等候直接完毕.
通过设置Connection,可以在下载Web资源(如多线程下载工具、Web浏览器等)后,当即断开网络衔接,这样可以有效地降低客户机的资源损耗.
以上是“Java网络编程从入门到精通(23):HTTP消息头字段[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |