当前位置:首页 > 芯闻号 > 充电吧
[导读]HTTP协议(Hypertext Transfer Protocol――超文本传输协议),浏览器端(客户端)向WEB服务器端访问页面的过程和 HTTP协议报文的格式。     基于HTTP协议的客户机

HTTP协议(Hypertext Transfer Protocol――超文本传输协议),浏览器端(客户端)向WEB服务器端访问页面的过程和 HTTP协议报文的格式。 
    基于HTTP协议的客户机访问包括4个过程,分别是建立TCP套接字连接、发送HTTP请求报文、接收HTTP应答报文和关闭TCP套接字连接: 
1. 创建TCP套接字连接 
    客户端与WEB服务器创建TCP套接字连接,其中WEB端服务器的地址可以通过域名解析确定,WEB端的套接字侦听端口一般是80。 
2. 发送HTTP请求报文 
    客户端向WEB服务端发送请求报文,HTTP协议的请求报文格式为: 
请求消息 = 请求行(实体头信息)CRLF[实体内容]请求行 = 方法 URL HTTP版本号 CRLF方法 = GET|HEAD|POST|扩展方法URL = 协议名称 + 宿主名 + 目录与文件名 
其中"CRLF"表示回车换行。 
    "请求行"中的"方法"描述了对指定资源执行的动作,常用的方法"GET"、"HEAD"和"POST"等3种,它们的含义如表15-8所示: 
表15-8 HTTP请求方法 

取值   描述 
GET 从WEB服务器中获取对象,不同类型的对 
象将获取不同的信息,比如: 
· 文件类型对象,获取该文件的内容。 
· 程序类型对象,获取该程序执行的结果。 
· 数据库查询类型对象,获取该查询的结果。 
HEAD 要求服务器查找对象的元信息。 
POST 从客户端向WEB服务器发送数据。 



    "实体头信息"中记载了报文的属性,利用这些信息可以实现客户端与WEB服务器之间的请求或应答,它包括报文的数据类型、压缩方法、语言、长度、压缩方法、最后一次修改时间、数据有效期等信息。 
    实体内容是报文传送的附加信息,一般供POST请求填写。 


GET请求报文例子 
    一个URL为"http://www.zhiliaowang.com/toupiaoceshi.asp?name=朱云翔"的GET请求报文例子如下: 
Java代码 

   GET http://www.zhiliaowang.com /toupiaoceshi.asp?name=朱云翔 HTTP/1.1Accept: */*Accept-Language: zh- cnAccept-Encoding: gzip, deflateUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)Host: www.zhiliaowang.comConnection: Keep-Alive 

GET http://www.zhiliaowang.com/toupiaoceshi.asp?name=朱云翔 HTTP/1.1Accept: */*Accept-Language: zh-cnAccept-Encoding: gzip, deflateUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)Host: www.zhiliaowang.comConnection: Keep-Alive 


其中"/toupiaoceshi.asp?name=朱云翔"是URL信息,语句"ACCEPT:*/*"及其后的语句是"实体头信息"。 
    注意:在语句"Connection:Keep-Alive"下的空行是必须的。 


POST请求报文例子 
    下面是HTTP协议中关于POST请求报文例子,节自《中国联合通信公司短消息网关系统接口协议(SGIP)》V1.2版: 
Java代码 

   POST /sp.cgi HTTP/1.0     /* 请求行,服务程序为sp.cgi */Host: www.spserver.com     /* 以下为实体头信息 */Authorization: Basic

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭