学习笔记 | 了解Web及网络基础

第1章 了解Web及网络基础

1.1 使用HTTP协议访问Web

学习笔记 | 了解Web及网络基础
学习笔记 | 了解Web及网络基础

  • Web是建立在HTTP协议(HyperText Transfer Protocol超文本传输协议)上通信的。
  • 不同的硬件、操作系统之间的通信,所有的这一切都需要一种规则。我们把这种规则称为协议

1.2 HTTP的诞生

1.2.1 为知识共享而规划Web

现在已提出了3项WWW构建技术,分别是:

  • SGMLStandard Generalized Markup Language标准通用标记语言)作为页面的文本标记语言的HTMLHyperText Markup Language超文本标记语言);
  • 作为文档传递协议的HTTP
  • 指定文档所在地址的URLUniform Resource Locator统一资源定位符);
1.2.2 Web成长时代
1.2.3 驻足不前的HTTP

HTTP/0.9

  • HTTP于1990年问世。那时的HTTP并没有作为正式的标准被建立。这时的HTTP其实含有HTTP/1.0之前版本的意思,因此被称为HTTP/0.9

HTTP/1.0

  • HTTP正式作为标准被公布是在1996年的5月,版本被命名为HTTP/1.0,并记载于RFC1945。虽说是初期标准,但该协议标准至今仍被广泛使用在服务器端。

HTTP/1.1

  • 1997年1月公布的HTTP/1.1是目前主流的HTTP协议版本。当初的标准是RFC2068,之后发布的修订版RFC2616就是当前的最新版本。

  • 当年HTTP协议的出现主要是为了解决文本传输的难题。

1.3 网络基础TCP/IP

1.3.1 TCP/IP协议族
  • TCP/IP是互联网相关的各类协议族的总称。
1.3.2 TCP/IP的分层管理

TCP/IP协议族按层次分别分为以下4层:

应用层

  • 应用层决定了向用户提供应用服务时通信的活动。
  • TCP/IP协议族内预存了各类通用的应用服务。比如,FTP(File Transfer Protocol文件传输协议)和DNS(Domain Name System域名系统)服务就是其中两类。
  • HTTP协议也处于该层。

传输层

  • 传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。
  • 把从应用层处收到的数据进行分割,并在各个报文上打上标记序号及端口号后转发给网络层。

在传输层有两个性质不同的协议:

  • TCP(Transmission Control Protocol传输控制协议
  • UDP(User Data Protocol用户数据报协议

网络层(又名网络互连层)

  • 网络层用来处理在网络上流动的数据包。
  • 数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方。
  • 增加作为通信目的地的MAC地址后转发给链路层。
  • 与对方计算机之间通过多台计算机或网络设备进行传输时,网络层所起的作用就是在众多的选项内选择一条传输路线。

链路层(又名数据链路层,网络接口层)

  • 用来处理连接网络的硬件部分。硬件上的范畴均在链路层的作用范围之内。
  • 包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card网络适配器,即网卡),及光纤等物理可见部分(还包括连接器等一切传输媒介)。
1.3.3 TCP/IP通信传输流

学习笔记 | 了解Web及网络基础

1.4 与HTTP关系密切的协议:IP、TCP和DNS

1.4.1 负责传输的IP协议
  • 可能有人会把“IP”和“IP地址”搞混,“IP”其实是一种协议的名称。
  • IP协议的作用是把各种数据包传送给对方。而要保证确实传送到对方那里,则需要满足各类条件。其中两个重要的条件是IP地址和MAC地址(Media Access Control Address)。
  • 采用ARP协议Address Resolution Protocol)。ARP是一种用以解析地址的协议,根据通信方的IP地址就可以反查出对应的MAC地址。
1.4.2 确保可靠性的TCP协议
  • 按层次分,TCP位于传输层,提供可靠的字节流服务。所谓的字节流服务Byte Stream Service)是指,为了方便传输,将大块数据分割成以报文段segment)为单位的数据包进行管理。

  • 而可靠的传输服务是指,能够把数据准确可靠地传给对方。

  • 为了准确无误地将数据送达目标处,TCP协议采用了三次握手three-way handshaking)策略。
    用TCP协议把数据包送出去后,TCP不会对传送后的情况置之不理,它一定会向对方确认是否成功送达。握手过程中使用了TCP的标志(flag)——SYNsynchronize)和ACKacknowledgement)。
    发送端首先发送一个带SYN标志的数据包给对方。接收端收到后,回传一个带有SYN/ACK标志的数据包以示传达确认信息。
    最后,发送端再回传一个带ACK标志的数据包,代表“握手”结束。

  • 若在握手过程中某个阶段莫名中断,TCP协议会再次以相同的顺序发送相同的数据包。
    学习笔记 | 了解Web及网络基础

1.5 负责域名解析的DNS服务

  • DNS(Domain Name System)服务是和HTTP协议一样位于应用层的协议。
  • 提供域名IP地址之间的解析服务。
    学习笔记 | 了解Web及网络基础

1.6 各种协议与HTTP协议的关系

学习笔记 | 了解Web及网络基础

1.7 URI和URL

1.7.1 统一资源标识符
  • URI用字符串标识某一互联网资源。
  • URL表示资源的地点(互联网上所处的位置)。
  • 可见URL是URI的子集。
1.7.2 URI格式
  • URI表示指定的URI,要使用涵盖全部必要信息的绝对URI、绝对URL以及相对URL。
  • 相对URL,是指从浏览器中基本URI处指定的URL,形如 /image/logo.gif。

让我们先来了解一下绝对URI的格式。
学习笔记 | 了解Web及网络基础