|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
主要缺点就是:速度比较慢,没有C和C++快
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协定会合的协定一样,是遵守客户/服务器模子事情的。客户端发往服务真个信息格局以下:
哀求办法URLHTTP协定的版本号
提交的元信息
**空行**
实体
哀求办法是对此次毗连事情的申明,今朝HTTP协定已开展到1.1版,它包含GET、HEAD、POST、DELETE、OPTIONS、TRACE、PUT七种。元信息是关于以后哀求的信息。经由过程剖析元信息,能够反省实体数据是不是完全,吸收历程是不是堕落,范例是不是婚配等。元信息的引进使HTTP协定通讯加倍稳妥牢靠。实体是哀求的详细内容。
将上述报文发往Web服务器,假如乐成,应对格局以下:
HTTP协定的版本号应对形态码应对形态码申明
吸收的元信息
**空行**
实体
以上报文发向客户端,而且吸收乐成,相互间封闭毗连,完成一次握手。上面用最经常使用的GET办法,来讲明详细的报文使用:
GEThttp://www.youhost.comHTTP/1.0
accept:www/source;text/html;image/gif;image/jpeg;*/*
User_Agent:myAgent
**空行**
这个报文是向www.youhost.com主机哀求一个缺省HTML文档。客户端HTTP协定版本号是1.0版,元信息包含可吸收的文件格局,用户代办署理,每段之间用回车换行符分开,最初以一个空行停止。发向服务器后,假如实行历程一般,服务器前往以下代码:
HTTP/1.1200OK
Date:Tue,14Sep199902:19:57GMT
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)。
<p>
轮性能微软曾做过一个例子,就是同一个项目用java和.net网页编程来作,结果开发周期,.net网页编程是java的一半,性能java是.net网页编程的十分之一,代码量java是.net网页编程的三倍。呵呵,这说明了什么,.net网页编程的全方位比java好。但是有的人说.net网页编程不能跨平台,这个问题我和我同学曾讨论过,都认为微软的.net网页编程很可能早都可以跨平台了,但是微软为了保护他们的操作系统,所以才没有推出跨平台的.net网页编程,只是推出了跨语言的.net网页编程, |
|