HTTP初相识

浏览器背后的故事

HTTP初相识

HTTP

  • 超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。
  • 属于应用层的面向对象的协议

Web

  • WEB是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统
  • 建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构

HTTP协议的前世今生

→ 1990年10月    万维网之父Tim-Berners-Lee最早提出了HTTP协议

→  1991年           HTTP0.9诞生

→  1996年5月     HTTP1.0发布

→  1997年1月     HTTP1.1发布

→  2015年5月     HTTP2.0提出

→  2016年11月   **HTTP3.0  QUIC协议(Quick UDP Internet Connection)**是谷歌制定的一种基于UDP的低时延的互联网传输层协议

QUIC很好地解决了当今传输层和应用层面临的各种需求,包括处理更多的连接,安全性,和低延迟。QUIC融合了包括TCP,TLS,HTTP/2等协议的特性,但基于UDP传输。QUIC的一个主要目标就是减少连接延迟,当客户端第一次连接服务器时,QUIC只需要1RTT(Round-Trip Time)的延迟就可以建立可靠安全的连接,相对于TCP+TLS的1-3次RTT要更加快捷。之后客户端可以在本地缓存加密的认证信息,在再次与服务器建立连接时可以实现0-RTT的连接建立延迟。QUIC同时复用了HTTP/2协议的多路复用功能(Multiplexing),但由于QUIC基于UDP所以避免了HTTP/2的线头阻塞(Head-of-Line Blocking)问题。因为QUIC基于UDP,运行在用户域而不是系统内核,使得QUIC协议可以快速的更新和部署,从而很好地解决了TCP协议部署及更新的困难

透过TCP/IP看HTTP

  • HTTP协议是构建在TCP/IP协议之上的,是TCP/IP协议的一个子集

    HTTP初相识
  • 应用层一般是我们编写的应用程序,决定了向用户提供的应用服务。应用层可以通过系统调用与传输层进行通信。如:FTP、DNS、HTTP

  • 传输层通过系统调用向应用层提供处于网络连接中的两台计算机之间的数据传输功能。如:TCP、UDP

  • 网络层用来处理在网络上流动的数据包,数据包时网络传输的最小数据单位。该层规定了通过怎样的路径(传输路线)到达对方计算机,并把数据包传输给对方

  • 链路层用来处理连接网络的硬件部分,包括控制操作系统、硬件设备驱动、NIC(网络适配器)以及光纤等物理可见部分。硬件上的范畴均在链路层的作用范围之内

数据包的封装过程

HTTP初相识

HTTP数据传输过程

HTTP初相识
  • 发送端发送数据时,数据从上到下,每经过一层会打上该层的头部信息
  • 接收端接收数据时,数据从下到上,传输前会把下层的头部信息删除

传输层——TCP三次握手

HTTP初相识
  • 三次握手才能确定双方都能正常发送和接收

DNS域名解析

  • DNS服务提供域名到IP地址之间的解析服务

HTTP事务处理过程

HTTP初相识
HTTP初相识

参考资料

编程必备基础-大话HTTP协议


原文始发于微信公众号(伯nulee):HTTP初相识

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/63924.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!