TCP/IP协议
HTTP属于TCP/IP协议的子集,计算机与网络设备要相互通信,双方必须基于相同的方法,我们把这些规则成为协议,我们把与互联网相关的各种协议集合起来成为TCP/IP
TCP/IP的分层
TCP/IP从上倒下分为以下4层:应用层、传输层、网络层、数据链层。
我理解的层就是模块化,不用牵一发而动全身,可以局部替换更新。
- 应用层
应用层预存了各类通用的应用服务,比如FTP(文件传输协议),DNS(域名系统),HTTP协议也处于该层 - 传输层
传输层提供处于网络连接中的两台计算机之间的数据传输, 有两种不同的协议:TCP和UDP - 网络层(ip协议)
网络层规定如何在众多选项中选择一条传输路线 - 数据链层 用来处理连接网络的硬件部分,包括操作系统,硬件的设备驱动,网卡,光纤等。
TCP/IP通信传输流
利用TCP/IP协议进行网络通信的时候,客户端从应用层往下走,服务器则从链路层想向上走,传输顺序:客户端应用层->传输层->网络层—>链路层->服务器链路层->网络层->传输层->应用层
发送端在层与层之间传输数据的时候,每一层比打上该层的首部信息,在接收端则每经过一层把对应的首部信息删除,这叫做封装
与http关系密切的协议:IP、TCP、DNS
负责传输的IP协议
几乎所有的网络系统都会用到IP协议,IP协议和IP地址不是同一个东西。
IP协议的作用是把数据包传输给对方,而要保证能够传输到对方那里,需要满足各种条件,其中最重要的两个地址就是IP地址和MAC地址
IP地址指明了节点被分配到的地址,MAC地址是网卡缩所属的地址,IP地址可以和MAC地址进行配对,IP地址可变,MAC地址基本不会变
可靠的TCP协议
TCP协议为了更容易的传输大数据,把数据分割成一报文段为单位进行管理,TCP协议能为确认最后数据是否送达。
为了确认数据是否准确无误的送达,TCP协议采用了三再次握手策略。
发送端:我有东西要发给你,发送一个SYN数据包
接收端:明白,我收到你的数据包了,喏,发给你一个SYN/ACK数据包
发送端:那我准备发给你了,发送一个ACK标志的数据表代表握手结束
负责域名解析的DNS
DNS提供域名到IP地址的解析服务,一般由运营商提供
由于人类通常通过域名来访问而不是通过IP地址来访问, 但是计算机去理解名称显得比较困难,计算机更擅长处理数字,DNS就像一个翻译,负责通过域名查询IP地址,或者逆向从IP地址反查域名
URI和URL
URI
URI(统一资源标识符) 是一个用于标识某一互联网资源名称的字符串。 该种标识允许用户对网络中(一般指万维网)的资源通过特定的协议进行交互操作
覆盖全部信息的绝对URI
URI包括URL和URN
URL
统一资源定位符 俗称为网页地址(网址) 统一资源定位符的标准格式如下:
协议类型:[//登录信息@服务器地址[:端口号]][/资源层级UNIX文件路径]文件名[?查询][#片段ID]
复制代码
URN
统一资源名称 是统一资源标识(URI)的历史名字
本人理解:URI在包括URL和URL,URL指地址,URN指名字.
---未完待续