HTTP协议

来源:互联网 发布:手机维修记账软件 编辑:程序博客网 时间:2024/06/06 05:09

HTTP协议

HTTP,Hyper Text Transport Protocol,超文本传输协议。是基于TCP连接的应用层协议。它定义了浏览器和web服务器之间如何通信。

为了描述互联网资源的位置,我们使用URL,Uniform Resource Locator,统一资源定位符。

格式为<协议>:://<主机>:<端口>/<路径>   HTTP的默认端口号是80,通常可省略。

HTTP协议是无状态的。也就是说,客户多次访问服务器时,服务器并不记得这个客户曾经访问过。

cookie

HTTP无状态的特性可以简化服务器工作,但实际使用中,一些站点希望识别用户,比如设置偏好、实现购物车功能等。这就用到Cookie机制。

当用户张三浏览某个使用Cookie的网站时,该网站的服务器就为张三生成一个唯一的识别码,添加到服务器数据库中。接着在给张三的HTTP响应报文中,添加一个叫做“Set-cookie”的首部行。例: Set-cookie:123456。当张三收到这个响应后,浏览器就会在Cookie文件中添加<网站名,cookie=123456>。以后张三再浏览这个网站,浏览器就会提取出cookie识别码,放在HTTP请求报文的cookie首部行中。

这样,web服务器就能识别张三了,根据服务器记录的他的访问行为,做一些精准的广告投放。

cookie只是本地的小小文本文件,不是可执行程序,不会对计算机有安全隐患。

HTTP请求报文

一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。


请求行
请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。
GET——把数据追加在url之后;POST——放在请求数据中。
请求头部
通知服务器有关客户端请求的信息,典型的请求头有:
User-Agent:浏览器类型。
Accept:客户端可识别的内容类型列表。
请求主体
这部分不是必需的。

HTTP应答报文


应答行

状态码意义。

1xx:指示信息--表示请求已接收,继续处理。

2xx:成功--表示请求已被成功接收、理解、接受。

3xx:重定向--要完成请求必须进行更进一步的操作。

4xx:客户端错误--请求有语法错误或请求无法实现。

5xx:服务器端错误--服务器未能实现合法的请求。

应答头部

时间、内容类型等。

应答主体

我们需要的有价值的大量数据。


百度报文实例

头部

报文体


0 0
原创粉丝点击