深入学习理解HTTP系列(一) -- 了解Web及网络基础
一、网络基础 TCP/IP
- 客户端(client):通过发送请求获取服务器资源的Web浏览器
- HTTP(HyperText Transfer Protocol):超文本传输协议
- WWW(World Wide Web,万维网)构建技术:
- HTML(超文本标记语言):把SGML作为页面的文本标记语言
- HTTP:把HHTP作为文档传递协议
- URL(统一资源定位符):指定文档所在地址
- HTTP/1.0:1996年(RFC1945)、HTTP/1.1(主流版本):1997年(RFC2068)
- TCP/IP协议族:互联网相关的各类协议族的总称
- TCP/IP的分层管理:需要改变设计时,只需把变动的层替换即可
- 应用层:向用户提供应用服务(FTP:文件传输协议、DNS:域名系统)时通信的活动,HTTP协议
- 传输层:提供处于网络连接中的两台计算机之间的数据传输(TCP:传输控制协议、UDP:用户数据报协议)
- 网络层:处理在网络上流动的数据包(网络传输的最小数据单位),在众多的计算机和网络设备中选择一条传输路线(IP协议)
- 数据链路层:处理连接网络的硬件部分(操作系统、设备驱动、网卡、光纤等)
- 通信传输:每经过一层,打上一个该层的首部(Head)信息
- 应用层(HTTP协议):客户端发出一个想看某个Web页面的HTTP请求
- 传输层(TCP协议):把数据(HTTP请求报文)进行分割,并在各个报文上打上标记序号及端口号转发给网络层
- 网络层(IP协议):增加作为通信目的地的MAC地址后转发给链路层
- IP地址:节点被分配到的地址(可变)、MAC地址:网卡所属的固定地址
- 网络层协议:
- ARP协议(Address Resolution Protocol):主要用来将32bit的IP地址解析为对应48bit(以太网中)的MAC地址(硬件地址)
- RARP协议:将硬件地址解析为IP地址
- TCP协议(传输层):提供可靠的字节流服务(Byte Stream Service),将大块数据分割成以报文段(segment)为单位的数据包
- 三次握手策略:发送SYN数据包、回传SYN/ACK数据包、回传ACK数据包
二、DNS服务
- DNS(Domain Name System):位于应用层,提供域名到 IP 地址之间的解析服务
- 域名查找 IP 地址、逆向从 IP 地址反查域名
三、URI 和 URL
- URL(Uniform Resource Locator):统一资源定位符(表示资源的定位),浏览器中输入的网页地址
- URI(Uniform Resource Identifier):统一资源标识符(用字符串标识资源)
- 统一资源标识符:URL是URI的子集
- 统一:格式统一,处理不同类型的资源
- 资源:可标识的任何东西
- 标识符:可标识的对象
- URI格式:绝对URI
- 协议方案名:http:、https:、data:、javascript:
- 登录信息(可选):身份认证(用户名和密码)
- 服务器地址:IP地址、域名
- 服务器端口号(可选):网络端口,省略则是默认端口
- 带层次的文件路径:使用文件路径来定位资源
- 查询字符串(可选):使用字符串传入参数
- 片段标识符(可选):标记出已获取资源中的子资源