网络基础TCP/IP
通常使用的网络(包括互联网)是在TCP/IP协议族的基础上运作的,而HTTP属于它内部的一个子集
协议中存在各式各样的内容,包括:电缆的规格、IP地址的选定方法、寻找异地用户的方法、双方建立 通信的顺序以及Web页面显示需要处理的步骤等等。
TCP/IP的分层管理
TCP/IP协议族各层的作用如下:
- 应用层
应用层决定了向用户提供应用服务时通信的活动。HTTP协议也处于该层。
协议族预存了各类通用的应用服务:FTP(文件传输协议)、DNS(域名系统)。 - 传输层
传输层对上层应用层提供处于网络连接中的两台计算机之间的数据传输。
本层有两个性质不同的协议:TCP(传输控制协议)、UDP(用户数据包协议) - 网络层(网络互连层)
用来处理在网络上流动的数据包(数据包是网络传输中的最小数据单位)
该层规定了:通过怎样的路径(传输路线)到达对方计算机,把数据包传送给对方
网络层所起的作用就是:在众多的选项内选择一条传输路线。 - 数据链路层(网络接口层)
用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(网卡)、光纤等物理部分,硬件上的范畴均在链路层的作用范围之内。
利用TCP/IP进行网络通信的流程:
- 首先客户端作为发送端,在应用层(HTTP协议)发出一个想看某Web页面的HTTP请求
- 为了传输方便,在传输层(TCP/IP协议)把从应用层处收到的数据(HTTP请求报文)进行分割,并在各个报文上打上标记序号及端口号
- 在 网络层(IP协议),增加作为通信目的地的MAC地址作为IP首部,此时发往网络的通信请求就准备齐全了
- 接收端从下到上一步步接收,当传输到应用层后才算真正接收到HTTP请求
(这种把数据信息包装起来的做法称为封装(encapsulate))
与HTTP关系密切的协议:IP、TCP、DNS
IP协议
按层次分,IP网际协议位于网络层,作用是把各种数据包传送给地方。而要保证传送给对方,需要满足各类条件,最重要的有IP地址和MAC地址。
IP地址指定节点被分配到的地址,MAC地址是网卡自带的固定地址,IP和MAC地址可以进行匹配。
使用APR协议凭借MAC地址进行通信
ARP是一种用以解析地址的协议,根据通信方的IP地址就可以反查出对应的MAC地址。
路由选择
TCP协议
按层次分,TCP位于传输层,提供可靠的字节流服务。
字节流服务:为了方便传输,将大块数据分割成以报文段(segment)为单位的数据包进行管理。
TCP可靠的含义:采用了三次握手四次挥手策略来保证数据成功送达。(扩展:三次握手四次挥手)
DNS服务
DNS是和HTTP协议一样位于应用层的协议,它提供域名与IP地址的解析服务(双向均可)。
总结:各个协议与HTTP协议的关系
URI和URL
URL(Uniform Resource Locator):统一资源定位符,就是我们在浏览网页时输出的网页地址
URI(Uniform Resource Identifier):统一资源标识符,就是由某个协议方案(http,ftp)表示的资源的定位标识符。
URI用字符串标识某一互联网资源,URL表示资源拿到地点(互联网上所处的位置)。URL是URI的子集
URI样例: