用 HTTP 协议访问 Web
例:使用 Web Browser 时,键入 URL,信息会被送往某处,得到回复后,即显示网页。
根据 Web 浏览器地址栏中的 URL,从 Web 服务器获取文件资源等信息,从而显示 Web 页面。
发送请求获取服务器资源的浏览器等,称为客户端。
Web 使用 HTTP 协议作为规范,完成一系列运作流程。
TCP/IP
不同硬件、系统之间的通信需要的规则称为协议。
广义的 TCP/IP 指与互联网关联的协议集合。狭义的 TCP/IP 指 TCP,IP 这两种协议。
分层管理
应用层、传输层、网络层、数据链路层。
好处:需要改动时只需要替换对应的层。
层次 | 描述 | 例 |
---|---|---|
应用层 | 向用户提供应用服务时通信的活动 | FTP,DNS,HTTP |
传输层 | 两台计算机间的数据传输 | TCP,UDP |
网络层 | 网络上流动的数据包 | |
链路层 | 处理连接网络的硬件 | NIC,... |
通信传输流
发送端从应用层往下走,接收端向应用层往上走。
发送端的客户端在应用层发出 HTTP 请求,传输层对 HTTP 请求报文进行分割,打上标记序号和端口号后发给网络层,增加目的地的 MAC 地址后转发给链路层。
发送端传输数据时,每经过一层就会套一些首部信息,接收则消去。
IP
IP 处于网络层,将各种数据包发送给对方。
IP 地址是节点被分配到的地址,MAC 地址是网卡所属的固定地址。
TCP
TCP 处于传输层,提供可靠的字节流服务,将大块数据分割成报文段为单位的数据包进行管理,能确认数据是否最终送达对方。
三次握手:发送端发出带 SYN 的数据包,接受端收到后,回复一个带 SYN/ACK 的数据包确认,发送端再回传一个带 ACK 的数据包,代表握手结束。
DNS
DNS 处于应用层,提供域名到 IP 地址的解析服务,也提供反查服务。
URI 与 URL
URI 即统一资源标识符,绝对 URI 的格式如
http:// user:pass @ www.x.com :80 / dir/index.htm ? uid=1 # ch1
其中多余的空格表示各个部分间的分割。
依次为:协议名称,登录信息,服务器地址,服务器端口号,文件路径,查询字符串,片段标识符。