1. HTTP协议概述
HTTP是一个简单的协议。客户进程建立一条同服务器进程的TCP连接,然后发出请求并读取服务器进程的响应。服务器进程关闭连接表示本次响应结束。服务器进程返回的文件通常含有指向其他服务器上文件的指针(超文本链接)。用户显然可以很轻松地沿着这些链接从一个服务器到下一个服务器。
目前的HTTP协议版本为1.1版,本文以经典的1.0版为例简述HTTP协议实现。
2. HTTP报文类型
(1)请求报文
(2)响应报文
3. 首部字段
HTTP/1.0的请求和响应报文的首部均可包含可变数量的字段,用一个空行将所有首部字段与报文主体分隔开来。一个首部字段由字段名和随后的冒号、一个空格和字段值组成,字段名不区分大小写。如:
Date: Wed, 18 Oct 1995 16:37:23 GMT
Server: NCSA/1.4
Location: http://www.noao.edu/~rstevens/
Content-type: text/html
报文头可分为三类:一类应用于请求,一类应用于响应,还有一类描述主体。有一些报文头(例如:Date)既可用于请求又可用于响应。描述主体的报文头可以出现在POST请求和所有响应报文中。
4. 响应代码
服务器程序响应的第一行叫状态行。状态行以HTTP版本号开始,后面跟着3位数字表示响应代码,最后是易读的响应短语。
这篇博客只是对http协议的简单介绍,更详细的分析请参考
http://www.cnblogs.com/TankXiao/archive/2012/02/13/2342672.html