001@了解Objective-C语言的起源
913 2023-04-03 03:13:32
http(HyperText Transfer Protocol,超文本船速协议
):是一种协议规范
,完成从客户端到服务器端等一系列运作流程。而协议
是指规则的约定。可以说:Web是建立在HTTP协议上通信的。
通常使用的网络是在TCP/IP
协议族的基础上运作的,而HTTP属于它内部的一个子集。
协议(protocol): 当计算机与网络设备需要通信,双方需要基于相同的方法(例如:如何探测到通信目标,哪边先发起通信,使用哪种语言通信,怎样结束通信等),这些遵循的的一种规则就是协议(protocol)
。
TCP/IP
。也可以认为TCP/IP
是TCP
和IP
两种协议。
应用层
:决定向用户提供应用服务时的通信活动。TCP/IP
协议族内预存各类通用的应用服务。例如FTP[File Transfer Protocol]
和DNS[Domain Name System]
在改成,HTTP
协议也处于该层。传输层
: 提供网络连接中的两台计算机之间的数据传输。TCP(Transmission Control Protocol)传输控制协议
和UDP(User Data Protocol)用户数据报协议
处于该层。网络层
:处理网络上流动的数据包。数据包是网络传输的最小数据单位。该层对定了通过怎样的传输路线(在众多的路径中选择一条数据路线
)到达对方计算机,并把数据传送给对方。IP(Internet Protocol)
属于该层数据链路层
:用于处理联通网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card,网络适配卡[网卡])、光纤等物理可见部分。
发送端
在层与层之间传输数据时,每经过一层必定会打上
该层所属的首部信息
。接收端
在曾与层传输数据时,每经过一层,会把对应的首部消去
。封装(encapsulate)
。#3. 与HTTP关系密切的协议:IP、TCP和DNS
IP
(Internet Protocol,网际协议):所有的网络系统都会用到IP协议(TCP/IP协议族中的IP)。不要将IP
和IP地址
搞混淆。IP协议
:作用是将各种数据包传送给对方。传送正确的条件:
ARP协议(Address Resolution Protocol)
: 地址解析协议。根据通信方的IP地址,反查出对应的MAC地址。
IP间的通信依赖MAC地址。在网络上,正常的双方通信是需要经过多台计算机和网络设备中转才能连接。在中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标。这是就会采用ARP协议
。
TCP协议
属于传输层
,提供可靠的字节流服务,将数据准确可靠地传送给对方
字节流服务(Byte Stream Service): 为了方便传输,将大块数据分割成以报文段(segment)
为单位的数据包
进行管理。
为了准确无误地将数据送达目的地,TCP协议
采用三次握手
(three-way handshaking)策略。当数据包
发送后,会向对方确认是否成功送达
。握手标志(flag
):
发送端
发送SYN
标志给服务器端服务端
返回SYN/ACK
,代表传达确认信息发送端
再次回传ACK
的数据报,代表握手结束
。如果握手过程某个阶段中断
,TCP协议会再次
以相同顺序
发送相同数据包
。DNS(Domain Name System)
: 应用于应用层
的协议,提供域名
到IP地址
之间的解析服务 或 逆向从IP地址反查询域名的服务。
URI(Uniform Resource Identifier)
: 统一资源标识符。由某个协议方案表示的资源
的定位标识符
。协议方案
是指访问资源所使用的协议类型名称
,例如HTTP协议
的协议方案就是http
。
统一的格式
方便处理
多种不同类型
的资源。URL(统一资源定位符)
表示资源的地点(互联网所处位置),可知URL是URI的子集。
上图是绝对URI的格式,其中每个具体属性描述如下: