http协议

http是一个面向事务的应用层协议。

http规定http客户和服务器之间的每次交互都由一个ASCII码串和一个类似通用英特尔邮件扩充。

访问一个网站:

当点击一个链接时,会有一个URL(http://www.xxxxx.com/xxxx/xx.html)

1.浏览器分析URL

2.浏览器DNS请求解析IP地址

3.获取IP后进行TCP连接

4.发出文件提取命令xxx.html

5.做出相应,把文件发送给浏览器

6.释放TCP连接

 

http/1.0:

http1.0是一种非持续链接,每次请求一个文档都需要2倍往返时间(RTT),三次握手 + 一次传输文件

如果有很多链接需要依此打开会使服务器负担很重.

 

http/1.1:

http1.1是一种持续连接,有两种工作方式,非流水线 和 流水线。

1.非流水线:在收到前一个响应后才能发送下一个请求。

2.流水线:可以不断的发送请求,然后等待服务器的响应。

 

d代理服务器(万维网高速缓存):

会将最近的一些请求暂时保存到本地磁盘,当新的请求到达时,若发现与暂存相同,则返回暂存的相应。

 

服务器上存放用户信息:

像淘宝一些网站希望能够识别用户,可以将商品加入购物车

万维网可以通过cookie来跟踪用户,当xxx访问网站的时候,服务器会给xxx发送的http响应报文中

加上一个set-cookie,作为用户的识别码。

 

HTTP/2与HTTP 1.1相比,主要区别包括:

1.HTTP/2采用二进制格式而非文本格式

2.HTTP/2是完全多路复用的,而非有序并阻塞的——只需一个连接即可实现并行

3.使用报头压缩,HTTP/2降低了开销

4.HTTP/2让服务器可以将响应主动“推送”到客户端缓存中

  当浏览器请求一个网页时,服务器将会发回HTML,在服务器开始发送JavaScript、图片和CSS前,服务器需要等待浏览器解析HTML和发送所有内嵌资源的请求。 服务器推送服务通过“推送”那些它认为客户端将会需要的内容到客户端的缓存中,以此来避免往返的延迟。

原文地址:https://www.cnblogs.com/Przz/p/6591780.html