共计 1954 个字符,预计需要花费 5 分钟才能阅读完成。
第一章 了解 web 及网络基础
1.1 使用 HTTP 访问 web
1.2 HTTP 的诞生
1.3 网络基础 TCP/IP
- TCP/IP 协议族
- 通常使用的网络实在 TCP/IP 协议族的基础上运行的。而 HTTP 属于内部的一个子集。
1.3.1 TCP/IP 协议族
- 协议:计算机与网络设备要相互通信,双方就必须基于相同的方法。比如,如何探测到通信目标、由那一边发起通信、使用哪种语言进行通信、怎样结束通信等。不同硬件、不同操作系统之间的通信,都必须遵循一种规则,这种规则就是协议
- TCP/IP 是互联网相关的各类协议族的总称
- 包括协议:TCP,IP,HTTP,FTP,UDP,DNS 等
1.3.2 TCP/IP 的分层管理
- 分四层:应用层、传输层、网络层、数据链路层
- 分层优点:
- 可使各层之间相互独立,某一层可以使用其下层提供的服务而不需要知道服务是如何实现的
- 灵活性好,当某一层发生改变时,只要其接口关系不变,则这层以上或以下的应用都不会受到影响
- 结构上解耦,各层可以选择最合适的技术来实现
- 易于实现和维护,因为可以分层次的调试,快捷方便
- 能促进标准化工作,创造更好的互联环境
- 应用层
作用:应用层决定了向用户提供应用服务时的通信的活动。
包括:FTP(文件传输协议)、DNS(域名系统)、HTTP(超文本传输协议)HTTP 协议就处在应用层
- 传输层
作用:传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输
包括:TCP(传输控制协议)、UDP(用户数据报协议)
- 网络层(or 网络互联层)
作用:网络层用来处理在网络上流动的数据包,该层规定了通过怎样的路径 (传输线路) 到达对方计算机,并将数据包传送给对方。
- 链路层(or 数据链路层 or 网络接口层)
作用:用来处理网络的硬件部分,包括操作系统、硬件的设备驱动、网卡、光纤等物理可见部分。
1.3.3 TCP/IP 通信传输流
- 利用 TCP/IP 协议族进行网络通信,会通过分层顺序与对方进行通信
- 发送端从应用层往下走,接收端从网络层往上走
- 流程
- 首先,作为发送端的客户端在
应用层 (HTTP 协议)
发送一个 HTTP 请求- 为了传输方便,在
传输层 (TCP 协议)
把从应用层接收到的数据 (HTTP 请求报文) 进行分割,并在各个报文上打上标记序号及端口号,然后转发到网络层- 在
网络层(IP 协议)
,增加作为通信目的地的 Mac 地址后,转发给链路层。在此,发送网络的通信请求就准备齐全了- 接收端的服务器在链路层接收到数据,按序往上层发送,一直到服务器的应用层。
- 发送端在层与层之间传输数据时,每经过一层时必定会打上一个该层所属的头部信息;反之,接收端在曾与层之间传输数据时,每经过一层时会把相应的头部去掉。
- 封装:把数据信息包装起来的方式成为封装
1.4 与 HTTP 关系密切的协议:IP、TCP、DNS
1.4.1 负责传输的 IP 协议
- IP 协议位于
网络层
- TCP/IP 中的 IP 是指国际协议,注意与 IP 地址区分开
- IP 协议作用:把各种数据包传送给对方,确保数据传输,最重要的
两个条件是 IP 地址和 MAC 地址
,IP 地址指明了节点被分配到的地址,Mac 地址是指网卡所属的固定地址。IP 地址和 Mac 地址可进行配对。IP 地址可更改,Mac 地址不可更改- 通信在进行中转时,会采用 ARP 协议,利用下一站中转设备的 Mac 地址来搜索下一个中转目标。ARP 协议是一种解析地址的协议, 根据通信方的 IP 地址反查出对应的 Mac 地址
- 在到达通讯目标前的中转过程中, 需要进行路由的选择。路由就像快递的货物集散地,分发网络请求
1.4.2 确保可靠性的 TCP 协议
- TCP 协议位于 传输层,提供可靠的字节流服务
- 字节流服务:将大块数据分割,以报文段为单位的数据包进行管理
- 为了确保数据传输到目标,TCP 协议采取了三次握手策略。
- 简单的三次握手流程:
- 发送端首先 发送一个带 SYN 标志的数据包给对方
- 接收端收到后,回传一个带有 SYN/ACK 标志的数据包,以示传达确认信息
- 发送端在回传一个带 ACK 标志的数据包,表示握手结束
1.4.3 负责域名解析的 DNS 服务
- DNS 协议位于应用层
- 作用:提供 IP 地址与域名之间的解析服务。
1.5 各种协议与 HTTP 协议的关系
1.6 URI 和 URL
- URI 统一资源标识符
- URL 统一资源定位符,URL 就是常见的网页地址
1.6.1 统一资源标识符
- URI 用字符串标识某一互联网资源,URL 表示资源的地点
- URL 是 URI 的 子集
- URI 例子:
ftp://ftp.is.co.za/rfc/rfc.txt
http://www.baidu.com/
1.6.2 URI 格式
- 协议名:HTTP,HTTPS,FTP 等类型
- 登录信息(认证)
指定用户名和密码作为从服务器端资源时必要的登录信息,可选
- 服务器地址
服务器地址可以是 www.baidu.com 的域名,也可以是 192.168.1.1 的 IPv4 地址,也可以是 IPv6 地址
- 服务器端口号
- 带层次的文件路径
- 查询字符串
- 片段标识符
正文完