第一章 了解web及网络基础
1.1 使用 HTTP 协议访问 Web
Web 使用一种名为 HTTP(HyperText Transfer Protocol,超文本传输协 议 1)的协议作为规范,完成从客户端到服务器端等一系列运作流 程。而协议是指规则的约定。可以说,Web 是建立在 HTTP 协议上通 信的。
1.2 HTTP 的诞生
CERN(欧洲核子研究组织)的蒂姆 ? 伯纳斯 - 李(Tim BernersLee) 博士提出了一种能让远隔两地的研究者们共享知识的设想.
1.3 网络基础 TCP/IP
计算机与网络设备要相互通信,就必须基于相同的方法.不同的硬件、操作系统之间的通信,所有的这一切都需要一种规则.我们把这种规则称之为协议.
TCP/IP的分层管理
TCP/IP 协议族里重要的一点就是分层。TCP/IP 协议族按层次分别分 为以下 4 层:应用层、传输层、网络层和数据链路层。
分层的好处就是:
- 需要修改设计时,不用修改整体,只需要才要修改的层进行修改
- 各层只需要执行分配给自己的任务,而不需要弄清楚对方是如何工作的.
TCP/IP 协议族各层的作用如下。
- 应用层决定了向该用户提供应用服务时通信的活动 如:FTP,DNS
- 传输层提供处于网络连接中的两台计算机之间的数据传输 如:TCP,UDP
- 网络层用来处理在网络上流动的数据包.数据包是网络传输的最小数据单位.该层规定了通过怎样的路径到达对方计算机,并把数据包传送给对方.
- 链路层 用来处理连接网络的硬件部分。包括控制操作系统,硬件的设备驱动,NIC(网卡),以及光纤等物理可见部分.
TCP/IP 通信传输流
发送端从上往下走,接收端从下往上走.
HTTP举例:
- 发送端的客户端在应用层 (HTTP 协议)发出一个想看某个 Web 页面的 HTTP 请求
- 在传输层(TCP 协议)把从应用层处收到的数据(HTTP 请求报文)进行分割,并在各个报文上打上标记序号及端 口号后转发给网络层。
- 在网络层(IP协议) 增加作为通信目的地的 MAC 地址后转发给链 路层。
发送端在发送数据时,经过一层必定加上该层所属的首部信息.反之,接受层在接收数据时会去除相关层的首部信息.
这种把数据信息包装起来的做法称为封装(encapsulate)。
确保可靠性的 TCP 协议
TCP位于传输层,提供可靠的字节流服务.
字节流服务是?:为了方便传输,将大块数据分割成报文段为单位的数据包进行管理.
可靠的传输服务是指:能将数据准确的传递给对方.
为了准确无误的将数据传递给目标处,TCP协议采用了三次握手策略.握手过程中使用了TCP的标志—SYN和ACK
过程:发送端会首先发送一个带SYN标志的数据包给对方,对方收到后回传一个带SYN和ACK的数据包表示传达确认信息.最后发送方发送一个带ACK标志的数据包,代表"握手结束".若在握手过程中某个阶段莫名中断,TCP 协议会再次以相同的顺序发 送相同的数据包。
1.4 各种协议与 HTTP 协议的关系
我 们再通过这张图来了解下 IP 协议、TCP 协议和 DNS 服务在使用 HTTP 协议的通信过程中各自发挥了哪些作用。
1.5 URL与URI
URI 是 Uniform Resource Identifier 的缩写。
- Uniform 规定统一的格式可方便处理多种不同类型的资源,而不用根据上下文环境来识别资源指定的访问方式。
- Resource 资源的定义是“可标识的任何东西”。除了文档文件、图像或服务(例 如当天的天气预报)等能够区别于其他类型的,全都可作为资源。
- Identifier 表示可标识的对象。也称为标识符。
URI格式表示指定的URI要使用涵盖全部必要信息的绝对 URI、绝对 URL以 及相对 URL。
如上图表示绝对的URI格式
|