用Socket类实现HTTP协议客户端操纵[Java编程]
本文“用Socket类实现HTTP协议客户端操纵[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Http客户端程序已集成在Java语言中,可以通过URLConnection类调用.遗憾的是,由于SUN没有公布Http客户程序的源码,它实现的细节还是一个谜.本文按照HTTP协议标准,用Java.net.Socket类实现一个HTTP协议客户端程序.
1.Socket类:
理解TCP/IP协议集通信的读者知道,协议间的通信是通过Socket完成的.在Java.net包中,Socket类就是对Socket的具体实现.它通过衔接到主机后,返回一个I/O流,实现协议间的信息交换.
2 . HTTP协议
HTTP协议同别的TCP/IP协议集合的协议一样,是遵守客户/服务器模子工作的.客户端发往服务端的信息格局以下:
恳求办法 URL HTTP协议的版本号
提交的元信息
**空行**
实体
恳求办法是对这次衔接工作的阐明,目前HTTP协议已经发展到1.1版,它包含GET、HEAD、POST、DELETE、OPTIONS、TRACE、PUT七种.元信息是关于当前恳求的信息.通过解析元信息,可以查抄实体数据能否完好,接纳历程能否出错,范例能否匹配等.元信息的引入使HTTP协议通信越发稳妥坚固.实体是恳求的具体内容.
将上述报文发往Web服务器,假如成功,应答格局以下:
HTTP协议的版本号 应答状况码 应答状况码阐明
接纳的元信息
**空行**
实体
以上报文发向客户端,并且接纳成功,彼此间关闭衔接,完成一次握手.下面用最常用的GET办法,来阐明具体的报文利用:
GET http://www.youhost.com HTTP/1.0
accept: www/source; text/html; image/gif; image/jpeg; */*
User_Agent: myAgent
**空行**
这个报文是向www.youhost.com主机恳求一个缺省HTML文档.客户端HTTP协议版本号是1.0版,元信息包含可接纳的文件格局,用户代理,每一段之间用回车换行符脱离,最后以一个空行完毕.发向服务器后,假如履行历程正常,服务器返回以下代码:
HTTP/1.1 200 OK
Date: Tue, 14 Sep 1999 02:19:57 GMT
Server: Apache/1.2.6
Connection: close
Content-Type: text/html
**空行**
<html><head>...</head><body>...</body></html>
HTTP/1.1表示这个HTTP服务器是1.1版,200是服务器对客户恳求的应答状况码,OK是对应答状况码的注释,之后是这个文档的元信息和文档正文.(相关应答状况码和元信息的注释请参阅Inetrnet尺度草案:RFC2616).
以上是“用Socket类实现HTTP协议客户端操纵[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |