HTTP协议

HTTP概况

HTTP定义了Web客户向Web服务器请求页面的方式,以及服务器想客户端送Web页面的方式。HTTP是基于TCP/IP的应用层协议,是超文本传输协议。HTTP由两个程序实现:一个客户程序和一个服务器程序,客户程序和服务器程序运行在不同的端系统中,通过交换HTTP报文进行会话,默认使用80端口。

HTTP版本

HTTP发展到现在已经有很多版本,主要分为以下三个:

  • 1.0版本: HTTP 1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,而每次新建TCP连接,因为是三次握手,所以效率很低,并且服务器不跟踪每个客户也不记录过去的请求。正式因为这种特性造成了一些性能上的缺陷。
    这是1.0版本的请求,必须要在请求后加上版本号
GET / HTTP/1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5)
Accept: */*

另外,回应时关于字符的编码,1.0版规定,头信息必须是 ASCII 码,后面的数据可以是任何格式,例如:text/plain。

  • 1.1版本 1.1 版的最大变化,就是引入了持久连接,即TCP连接默认不关闭,可以被多个请求复用,不用声明,这也是至今用的最多的版本。而且1.1版本新出了PUT、DELET等方法。不过虽然1.1版允许复用TCP连接,但是同一个TCP连接里面,所有的数据通信是按次序进行的。服务器只有处理完前一个回应,才会进行下一个回应。
  • 2版本 HTTP/2 是一个彻底的二进制协议,二进制协议的一个优点是,可以定义额外的帧,为用二进制解析打下基础。相比于1.1版本,2.0版本在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,而且不用按照顺序一一对应,避免堵塞。
    另外这里贴出HTTP发送请求和接收的格式,
    消息请求
    消息请求
    消息接收
    消息接收

http://www.ruanyifeng.com/blog/2016/08/http.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值