码迷,mamicode.com
首页 > 其他好文 > 详细

HTTP协议

时间:2014-05-26 13:33:05      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:c   class   http   a   get   文件   

版本

HTTP/1.0
这是第一个在通讯中指定版本号的HTTP协议版本,至今仍被广泛采用,特别是在代理服务器中。

HTTP/1.1
当前版本。持久连接被默认采用,并能很好地配合代理服务器工作。还支持以管道方式在同时发送多个请求,以便降低线路负载,提高传输速度。

HTTP/1.1相较于HTTP/1.0协议的区别主要体现在:

  • 缓存处理
  • 带宽优化及网络连接的使用
  • 错误通知的管理
  • 消息在网络中的发送
  • 互联网地址的维护
  • 安全性及完整性

现在在HTTP 1.1使用持续连接,不必为每个web对象创建一个新的连接,一个连接可以传送多个对象。HTTP管道允许客户在上一个回应被收到前发送多重请求从而进一步减少了延迟时间。另一项协议的改进是byte serving(字节服务),允许服务器根据客户的请求仅仅传输资源的一部分。

在HTTP1.0,单一TCP连接内仅执行一个“客户端发送请求—服务器发送应答”周期,之后释放TCP连接。在HTTP1.1优化支持持续活跃连接:客户端连续多次发送请求、接收应答;批量多请求时,同一TCP连接在活跃(Keep-Live)间期内复用,避免重复TCP初始握手活动,减少网络负荷和响应周期。此外支持应答到达前继续发送请求(通常是两个),称为“流线化”(stream)。

状态码

  • 1xx消息Information——请求已被服务器接收,继续处理
  • 2xx成功Success——请求已成功被服务器接收、理解、并接受
  • 3xx重定向Redirection——需要后续操作才能完成这一请求
  • 4xx请求错误Client error——请求含有词法错误或者无法被执行
  • 5xx服务器错误Server error——服务器在处理某个正确请求时发生错误

请求信息

发出的请求信息包括以下几个

请求行A request line
例如GET /images/logo.gif HTTP/1.1,表示从/images目录下请求logo.gif这个文件。
请求头Request Headers
例如Accept-Language: en
空行
其他消息体
请求行和标题必须以<CR><LF>作为结尾。空行内必须只有<CR><LF>而无其他空格。在HTTP/1.1协议中,所有的请求头,除Host外,都是可选的。

HTTP协议,布布扣,bubuko.com

HTTP协议

标签:c   class   http   a   get   文件   

原文地址:http://www.cnblogs.com/linyx/p/3746649.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!