(!!!转载)HTTP工作过程(浏览器输入URL到返回HTML页面都经历了什么)

转载自:https://www.cnblogs.com/JCpeng/p/15018957.html(SDN大佬🧍‍♂️)

HTTP工作过程(浏览器输入URL到返回HTML页面都经历了什么)

超文本传送协议(HyperText Transport Protocol,HTTP)是互联网上应用最为广泛的一种网络协议,它工作在应用层,使用TCP的80号端口提供服务。并且HTTP是工作在客户/服务器(C/S)模式下、基于TCP的协议。客户端是终端用户,服务端是网站服务器。

客户端通过使用Web浏览器、网络爬虫或其他工具,发起一个到服务器上指定端口(默认端口为80)的HTTP请求。一旦收到请求,服务器向客户端发送响应消息,消息的内容可能是请求的文件、错误消息或一些其他信息。客户端请求和连接端口须大于1024。

下图展示了客服端打开浏览器访问www.baidu.com(第一次访问,后续的访问可直接从本地hosts文件提取地址对应的IP不需要向DNS服务器请求解析)所发送的事件:

HTTP使用TCP而不是UDP的原因在于,打开一个网页必须传送很多数据,而TCP协议提供面向连接的可靠传输控制,可以按顺序组织数据,并且期间可以对乱序数据进行纠正。

补充两个小知识点

  • http协议和https协议的区别

    1.http是明文传输,https是采用SSL(采用了RC4、MD5以及RSA等加密算法)加密传输协议,除了包头,其他内容加密传输.

    2.HTTPS协议需要ca申请证书

    3.端口号不一样,前者是80,后者是443.

    4.HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。HTTPS 比 HTTP 要更耗费服务器资源.

  • tcp与udp的区别

    1、TCP面向连接;UDP是无连接的,即发送数据之前不需要建立连接

    2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。

    3、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的

    4、UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低。

    (拥塞控制三种方法:缓冲区预分配法、分组丢弃法、定额控制法)

    5、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信。

posted @ 2021-07-20 22:24  追寻_smile  阅读(226)  评论(0)    收藏  举报