HTTP协议 -- 一点web和网络基础

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wust_cyl/article/details/86500590

一个很简单的小问题。

当我们在地址栏输入URL时,发生了什么事情使得我们可以看到web页面。

一言以蔽之,根据 Web 浏览器地址栏中指定的URL,Web 浏览器从 Web 服务器端获取文件资源(resource)等信息,从而显示出 Web 页面。

其中有三项非常重要的技术。

页面的文本标记语言:HTML

文档传递协议:HTTP

文档所在地址:URL

当然这里重点介绍的是HTTP

介绍HTTP协议之前,我们必须先要了解TCP/IP,通常使用的网络(包括互联网)是在 TCP/IP 协议族的基础上运作的。而 HTTP 属于它内部的一个子集.

了解TCP/IP,我们必须了解它的分层概念

TCP/IP 协议族按层次分别分为以下 4 层:应用层、传输层、网络层和数据链路。

应用层:应用层决定了向用户提供应用服务时通信的活动。

传输层:传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。

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

链路层:用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card,网络适配器,即网卡),及光纤等物理可见部分(还包括连接器等一切传输媒介)。硬件上的范畴均在链路层的作用范围之内。

我们来看一张图

发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该层所属的首部信息。反之,接收端在层与层传输数据时,每经过一层时会把对应的首部消去.

这里面有几个协议和HTTP协议密切相关。

负责传输的 IP 协议。按层次分,IP(Internet Protocol)网际协议位于网络层。

IP 协议的作用是把各种数据包传送给对方。而要保证确实传送到对方那里,则需要满足各类条件。其中两个重要的条件是 IP 地址和 MAC地址(Media Access Control Address)

IP 地址指明了节点被分配到的地址,MAC 地址是指网卡所属的固定地址。IP 地址可以和 MAC 地址进行配对。IP 地址可变换,但 MAC地址基本上不会。

简单看一张图:

使用 ARP 协议凭借 MAC 地址进行通信,IP 间的通信依赖 MAC 地址。在网络上,通信的双方在同一局域网
(LAN)内的情况是很少的,通常是经过多台计算机和网络设备中转才能连接到对方。而在进行中转时,会利用下一站中转设备的 MAC地址来搜索下一个中转目标。这时,会采用 ARP 协议(AddressResolution Protocol)。ARP 是一种用以解析地址的协议,根据通信方的 IP 地址就可以反查出对应的 MAC 地址。

确保可靠性的 TCP 协议。按层次分,TCP 位于传输层,提供可靠的字节流服务。

如何理解确保可靠性了?一言以蔽之,TCP 协议为了更容易传送大数据才把数据分割,而且 TCP 协议能够确认数据最终是否送达到对方。

TCP的三次握手和四次分手。

负责域名解析的 DNS 服务

DNS(Domain Name System)服务是和 HTTP 协议一样位于应用层的协议。它提供域名到 IP 地址之间的解析服务。

原因在于,对于人来说,域名比IP地址好记

我们来看一下一个比较完整的流程

HTTP协议

猜你喜欢

转载自blog.csdn.net/wust_cyl/article/details/86500590