浅谈HTTP协议

什么是HTTP协议

了解什么是http协议前,我们先来说说什么是超文本。
超文本:超文本是指包含指向其他文档链接的文本。

HTTP协议:又称超文本传输协议,定义了客户进程和服务器之间是如何进行文档传输的。

HTTP性质

1>HTTP协议是应用层协议。
2>HTTP报文使用TCP连接进行传送。
3>虽然TCP是面向连接的运输层协议,但HTTP协议本身是无连接的。
4>HTTP协议是无状态的,同一个用户第二次访问页面,服务器相应与第一次访问相同。即不区分不同用户。

HTTP传输数据的过程

这里写图片描述

第一个RTT用于TCP连接,第二个RTT用于请求和接收万维网文档,这里TCP连接第三个报文段捎带客户对文档的请求。

HTTP/1.0和HTTP/1.1

区别:

HTTP1.1中将所有的连接默认为持续连接,而HTTP/1.0内并未标准化。

原因:

如果每进行一次HTTP通信就要断开一次TCP连接,那么在请求一个复杂的页面时,每次请求都会造成无谓的TCP连接建立和断开,
增加通信量的开销。

持续连接的工作方式:

(1)非流水线方式:客户在接收到前一个响应后才能发出下一个请求。所以在服务器发送完一个对象后,TCP连接处于空闲状态,浪费服务器资源。
(2)流水线方式:能够同时并行发送多个请求,而不需要一个接一个地等待响应。

HTTP/2.0:

HTTP/2.0的目标是改善用户使用Web时的速度体验。

HTTP报文结构

请求报文
(1)请求行
请求报文的第一行只有三个内容:方法,请求资源的URL,以及HTTP的版本。
例:GET http://blog.csdn.net/leeezm HTTP/1.1
(2)首部行
首部行包含用来说明浏览器,服务器和报文主体的一些信息。
例:Connection:keep-alive
(3)实体主体:请求报文中一般不使用。

方法

方法说明
GET查询
POST增加
PUT更新
DELETE删除
HEAD获取报文首部
OPTIONS询问支持的方法
TRACE追踪路径
CONNECT要求使用隧道协议连接代理
响应报文
(1)响应报文的第一行为状态行。
状态行包括HTTP的版本,状态码,以及解释状态码的简单短语。
例:HTTP/1.1 202 Accepted   [接受]
(2)首部行
首部行包含用来说明浏览器,服务器和报文主体的一些信息。
例:Connection:keep-alive
(3)实体主体:有些响应报文不用。

状态码:

方法说明说明
1XX信息性状态码接收的请求正在处理
2XX成功状态码请求正常处理完毕
3XX重定向状态码需要进行附加操作以完成请求
4XX客户端错误状态码服务器无法处理请求
5XX服务器错误状态码服务器处理请求出错

常见状态码

200 OK                表示从客户端发来的请求在服务器端被正常处理了
204 No Content        表示服务器接收的请求已被正常处理,但返回的响应报文中不含实体的主体部分。
    用于只需客户端向服务器发消息,而对客户端不需发送新内容。
206 Partial Content   表示客户端进行了范围请求,而服务器成功执行了这部分的GET请求

301 Moved Permanently        永久性重定向
302 Found                    临时性重定向
303 See Other                该资源存在另一个URI,应使用GET方法获取资源
    302和303差别:303明确使用GET方法
304 Not Modified             服务器端资源未改变,可直接使用客户端未过期的缓存
307 Temporary Redirect       临时重定向
    302和307:307不会从POST变成GET

400 Bad Request              表示请求报文中存在语法错误
401 Unauthorized             表示发送的请求需要通过HTTP认证
403 Forbidden                表明对请求资源的访问被服务器拒绝了
404 Not Found                表明服务器上无法找到请求的资源

500 Internal Server Error    表明服务器在执行请求时发生了错误
503 Service Unavailable      表明服务器超负荷或停机维护,无法处理请求
504                         (网关超时) 服务器作为网关或代理,未及时从上游服务器接收请求。

注意
当301,302,303响应状态码返回时,几乎所有的浏览器都会把 POST 改成 GET,并删除请求报文内的主体,之后请求会自动再次发送。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值