赞
踩
| |
用Socket类实现HTTP协议客户端应用 Http客户端程序已集成在Java语言中,可以通过URLConnection类调用。遗憾的 1.Socket类: 2 . HTTP协议 3. HTTP客户端程序: import java.net.*; i.printStackTrace(); /* i.printStackTrace(); i.printStackTrace(); } /* 向Web服务器传送数据 */ // 应答状态码和处理请读者添加 注: 程序中只实现GET、HEAD、POST三种方法。其他几种因不常使用,暂且忽略。 |
![]() | HTTP:超文本传输协议 |
HTTP:Hypertext Transfer Protocol |
超文本传输协议(HTTP)是应用层协议,由于其简捷、快速的方式,适用于分布式和合作式超媒体信息系统。自 1990 年起, HTTP 就已经被应用于 WWW 全球信息服务系统。 HTTP 允许使用自由答复的方法表明请求目的,它建立在统一资源识别器(URI)提供的参考原则下,作为一个地址(URL)或名字(URN),用以标志采用哪种方法,它用类似于网络邮件和多用途网际邮件扩充协议(MIME)的格式传递消息。 HTTP 也可用作普通协议,实现用户代理与连接其它 Internet 服务(如 SMTP 、 NNTP 、 FTP 、 GOPHER 及 WAIS )的代理服务器或网关之间的通信,允许基本的超媒体访问各种应用提供的资源,同时简化了用户代理系统的实施。 HTTP 是一种请求 / 响应式的协议。一个客户机与服务器建立连接后,发送一个请求给服务器,请求的格式是:统一资源标识符(URI)、协议版本号,后面是类似 MIME 的信息,包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式是:一个状态行包括信息的协议版本号、一个成功或错误的代码,后面也是类似 MIME 的信息,包括服务器信息、实体信息和可能的内容。 HTTP 的第一版本 HTTP/0.9 是一种简单的用于网络间原始数据传输的协议。而由 RFC 1945 定义的 HTTP/1.0 ,在原 HTTP/0.9 的基础上,有了进一步的改进,允许消息以类 MIME 信息格式存在,包括请求 / 响应范式中的已传输数据和修饰符等方面的信息。但是, HTTP/1.0 没有充分考虑到分层代理服务器、高速缓冲存储器、持久连接需求或虚拟主机等方面的效能。相比之下, HTTP/1.1 要求更加严格以确保服务的可靠性。关于安全增强版的 HTTP (即S-HTTP),将在相关文件中再作介绍。 |
![]() | 协议结构 |
HTTP报文由从客户机到服务器的请求和从服务器到客户机的响应构成。 请求报文格式如下: |
请求行 | 通用信息头 | 请求头 | 实体头 | 报文主体 |
请求行以方法字段开始,后面分别是 URL 字段和 HTTP 协议版本字段,并以 CRLF 结尾。SP 是分隔符。除了在最后的 CRLF 序列中 CF 和 LF 是必需的之外,其他都可以不要。有关通用信息头,请求头和实体头方面的具体内容可以参照相关文件。 应报文格式如下: |
状态行 | 通用信息头 | 响应头 | 实体头 | 报文主体 |
状态码元由3位数字组成,表示请求是否被理解或被满足。原因分析是对原文的状态码作简短的描述,状态码用来支持自动操作,而原因分析用来供用户使用。客户机无需用来检查或显示语法。有关通用信息头,响应头和实体头方面的具体内容可以参照相关文件。 |
相关协议 | WWW、FTP、STMP、NNTP、Gopher、WAIS、DNS、S-HTTP |
组织来源 | HTTP 定义在 IETF (http://www.ietf.org) 的 RFC 1945和2616中。 |
相关链接 | http://www.javvin.com/protocol/rfc1945.pdf :Hypertext Transfer Protocol – HTTP 1.0 http://www.javvin.com/protocol/rfc2616.pdf :Hypertext Transfer Protocol – HTTP 1.1 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。