TCP/IP协议族
计算机与网络设备要相互通信就必须基于各种协议,与互联网相关联的协议集合就为TCP/IP协议族。
分层
TCP/IP分为以下4层:
- 应用层:决定了向用户提供应用服务时通信的活动。
TCP/IP协议族内预存了各类通用的应用服务。比如FTP、DNS,以及HTTP - 传输层:提供处于网络连接中的两台计算机之间的数据传输。
在传输层有两个性质不同的协议:TCP和UDP - 网络层:用于处理在网络上流动的数据包。数据包是网络传输的最小数据单位。网络层的作用就是在众多的传输线路中选择一条。
- 链路层:用来处理连接网络的硬件部分。
利用TCP/IP协议族进行网络通信时,会通过分层顺序与对方进行通信。
- 发送端从应用层往下走,每经过一层会被打上一个该层所属的首部信息。
- 接收端则从链路层往上走,每经过一层时会把对应的首部消去。
与HTTP密切相关的协议
IP
IP协议位于网络层。其所用是根据源主机和目的主机的地址传送数据。
与此协议相关的有两个地址:
- IP地址:节点被分配的地址
- MAC地址:网卡的固定地址
ARP协议可以根据IP地址得出MAC地址。
TCP
TCP位于传输层,提供可靠的字节流服务。
为了提供可靠服务,TCP协议采用了三次握手策略。
- 发送端首先发送一个带有SYN标志的数据包给对方
- 接收端收到后,回传一个带有SYC/ACK标志的数据包以传达确认信息
- 最后发送端再回传一个带ACK标志的数据包,代表握手结束
DNS
DNS是应用层的协议。提供域名到IP地址之间的解析服务。
URI和URL
URI是Uniform Resource Identifier 的缩写,即统一资源标识符,用于标识某一互联网资源。
URL是URI的一种,不仅标识了Web 资源,还指定了操作或者获取方式,同时指出了主要访问机制和网络位置。
URI格式
- 协议方案名:访问资源所使用的协议
- 登录信息:指定用户名和密码作为从服务器端获取资源时必要的登陆信息。此项是可选项。
- 服务器地址:可以是DNS可解析的域名,或是ipv4地址,还可以是方括号括起来的ipv6地址
- 服务器端口号:指定服务器连接的网络端口号。此项也是可选项,若省略则自动使用默认端口号。
- 带层次的文件路径:指定服务器上的文件路径来定位特指的资源。
- 查询字符串:针对指定的文件路径内的资源,可以使用查询字符串传入任意参数。此项可选
- 片段标识符:通常可以标记出已获取资源中的子资源(文档内的某个位置)。此项可选。