##浅谈http
####1. 博客编写背景:
网络传输为了更具体的层次划分所以分为了osi七层的网络模型它是一种逻辑上的划分也是一种规范,而传输层属于七层模型中的最上层同时也是我及我周围的程序猿们接触最多一个层级,而应用层的消息传输则遵循http协议全名超文本传输协议,也是我们接触最多的一个协议,所以今天就我的理解浅谈一下http有不对地方还请指正,以下知识点更多遵循了RFC文档
####2. http版本及常见最重要的一个不同点:
- http版本目前分为了http1.0 — rfc 1945 和 http1.1 rfc 2068 如果有同学想具体研究可以查阅此文档
在介绍不同点之前先明白一个名词
RTT(Round Trip Time):从客户端发送一个很小的数据包到服务器,并返回所经历的时间,往往在http接口性能测试中相应时间是我们其中一个重要的性能指标,也就是RTT越大性能越低
首先看一下单纯的http请求的一个响应时间假设中间没有任何路由,代理服务器的中转
- 发起、建立tcp连接:1个rtt
- 发送http请求消息到http响应消息之前的几个字节到达:1个rtt
- 响应报文中包含文件或对象的传输时间
total:2RTT+文件发送的时间 就是这个http请求的响应时间如图
所以最大特点就是1.0是非持久性链接,1.1是持久性链接,二者在rtt时间上有很大不同显然持久性链接在应用中用的RTT更少,性能更高
####3. http特点:
http最大的特点就是无状态传输:客户端向服务端发起请求后到达服务端后