与HTTP相关的网络基础知识

 阅读约 4 分钟

与HTTP相关的网络基础知识

HTTP的发展

HTTP,超文本传输协议,最初是为了知识共享而设计的,是由蒂姆·伯纳斯·李博士的设想。
第一个标准版本HTTP/1.0是在1996年5月发布。
第二个标准版本HTTP/1.1是在1997年1月发布,这也是目前使用较多的版本。
HTTP2.0时代也即将来临...

TCP/IP协议族
TCP/IP协议族

TCP/IP协议族,顾名思义是一系列协议的集合,主要包括:TCP、IP、UDP、DNS、FTP、HTTP、SNMP、ICMP、PPPoE、FDDI、IEEE802.3等。这里是把与网络相关的所有协议都归于TCP/IP协议族,当然也有其他的分法,尚有争议。

TCP/IP协议族的分层管理

TCP/IP协议族共分为4层,分层的好处是方便修改扩展,比如要改某一部分的设计,不用把所有协议都改一遍,相当于编程中的解耦。

  1. 应用层:向用户提供服务时的通信协议。比如FTP、HTTP、DNS
  2. 传输层:管理处于网络连接中的两台计算机之间的数据传输。比如TCP、UDP
  3. 网络层(又名网络互联层):负责数据的路由和传输。比如IP协议、ARP/RARP、ICMP、IGMP
  4. 链路层(又名网络接口层):处理连接网络的硬件部分,包括控制硬件的驱动、网卡、光纤等。

发送端在层与层之间传输数据时,每经过一层会打上一个所属层的首部信息,比如HTTP数据在传输层打上TCP首部,在网络层打上IP首部,在链路层打上以太网首部。反之,在接收端一层一层地把首部去掉。这种把数据包装起来的做法成为封装(encapsulate)

与HTTP关系密切的协议:IP、TCP和DNS
IP(Internet Protocol网际协议)

IP占据了TCP/IP协议族名字的一半,可见其重要性,几乎所有的网络都会用到IP协议。
主要涉及两个功能:

  1. 寻址:即路由功能。IP协议使用IP地址来实现路由。
  2. 分片和重组:IP协议还提供对数据大小的分片和重组,以适应不同网络对数据包大小的限制。

特点:

  1. 无连接的:数据可能沿不同路径到达目的地
  2. 不可靠的:不包含错误检测和错误恢复,也不回送确认(回送是ICMP协议做的)
  3. 点对点的:发送端和接收端是对等的
  4. 实现简单,效率很高

IP协议使用IP地址来实现路由。使用ARP协议凭借MAC地址进行通信。
为什么一定要转换成MAC地址呢?是由历史原因决定的,简单讲就是局域网的先存在的,因特网是后出现的,而局域网通信需要MAC地址。
注:ARP,Address Resolution Protocol地址解析协议,用于将IP地址转换成MAC地址。
ICMP协议:ping 和 tracert是两个常用网络管理命令,ping 用来测试网络可达性,tracert 用来显示到达目的主机的路径。ping和 tracert 都利用 ICMP 协议来实现网络功能,它们是把网络协议应用到日常网络管理的典型实例。

确保可靠性的TCP协议

把HTTP报文切分成报文段,每个报文段有个序号,每个报文段可靠地传递给对方。

三次握手:

  1. SYN
  2. SYN/ACK
  3. ACK
NDS

DNS属于应用层协议,由于IP地址是数字,无法表达含义,不好记忆,所以出现了由字母、单词、符号等表达的域名,DNS就负责把域名翻译成IP地址。

URI与URL

URI与URL有什么区别呢?
URL是URI的子集。
URI的格式:
http://[user:pass@]www.xxx.com[:80]/a/b/c?arg=1
主要有7部分

  1. 协议方案名:http ftp file mailto ldap git news tel telnet等
  2. 登录信息
  3. 服务器地址:域名、IP地址
  4. 端口号
  5. 带层次的访问路径
  6. 查询参数
  7. 判断标识符
阅读 108发布于 11月14日
推荐阅读
目录