HTTP协议—网络基础 TCP/IP

HTTP(HyperText Transfer Protocol,超文转移协议,超文本传输协议的译法并不严谨。)

网络基础 TCP/IP

TCP/IP 协议族

TCP/IP 协议族是互联网相关联的协议的集合。从电缆的规格到IP地址的选定方法、寻找异地用户的方法、双方建立通信的顺序,以及Web页面显示需要处理的步骤,等等。而HTTP是属于它内部的一个子集。

TCP/IP 的分层管理

TCP/IP 协议族按层次分别分为以下 4 层:应用层、传输层、网络层和数据链路层。分层的好处:把各层之间的接口部分规划好之后,每个层次内部的设计就能够自由改动了。而且,层次化之后,设计也变得相对简单。处于应用层上的应用可以只考虑分派给自己的任务,而无需弄清对方在地球上哪个地方、对方的传输路线、是否能确保传输送达等问题。

  • 应用层:决定了向用户提供应用服务时通信的活动。TCP/IP 协议族预存了各类通用的应用服务。如 FTP(File Transfer Protocol)、DNS(Domain Name System)和 HTTP。

  • 传输层:该层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。TCP(Transmission Control Protocol)和 UDP(User Data Protocol,用户数据报协议)。

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

  • 链路层:用来处理网络的硬件部分。

TCP/IP 通信传输流

利用 TCP/IP 协议族进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端则往应用层往上走。

用HTTP 举例来说:首先作为发送端的客户端在应用层(HTTP协议)发出一个HTTP请求。
接着,在传输层(TCP协议)把从应用层处收到的数据(HTTP请求报文)进行分隔,并在各个报文上打上标记序号及端口号后转发给网络层。
在网络层(IP协议),增加作为通信目的地的MAC地址后转发给链路层。这就让发往网络的通信请求准备齐全了。
接收端的服务器在链路层接收到数据后,按序往上层发送,一直到应用层。当传输到应用层,才能算真正接收到客户端发送过来的HTTP请求。

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

与HTTP关系密切的协议:IP、TCP和DNS

负责传输的 IP 协议

IP(网际协议)位于网络层。该协议的作用是把各种数据包传送给对方。而要保证确实传送到对方那里,则需要满足各类条件。其中最重要的两个条件是 IP 地址和 MAC地址。IP 地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址。IP地址可以和MAC地址进行配对。

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

确保可靠性的TCP协议

TCP属于传输层,提供可靠的字节流服务。
字节流服务是指:为了方便传输,将大块数据分割成以报文段为单位的数据包进行管理。
这就是为什么下载高清大图时,图片会一块一块地加载。

三次握手
为了准确无误地将数据送达目标处,TCP协议在发送数据的准备阶段采用了三次握手策略(若在握手过程中某个阶段中断,TCP协议会再次以相同的顺序发送相同的数据包)。

当然,除了三次握手,TCP还有其它各种手段确保通信的可靠性。

负责域名解析的 DNS 服务

DNS服务提供域名到IP 地址之间的解析服务。即可通过域名查找IP,或逆向从IP地址反查域名服务。

因为域名解析也需要时间,所以可以 提前获取DNS来提升网页加载速度

URI和URL

URI(uniform Resource Identifier)
Uniform:规定统一的格式可方便处理多种不同类型的资源。
Resource:可标识的任何东西
Identifier:标识符

URI就是某个协议方案表示的资源的定位标识符。协议方案是指访问资源所使用的协议类型名称,如http、ftp。

URI 用字符串标识某一个互联网资源,而URL表示资源的地点。URL是URI的子集。

表示指定的URI,要使用涵盖全部必要信息的绝对URI、绝对URL以及相对URL。相对URL是指从浏览器中基本URI处指定的URL,如 /image/logo.gif

绝对URI的格式如下:

如果引用本站的原创文章,请注明原文链接:,本站保留追究责任的权利!

发表评论