【图解HTTP读书笔记】第一章:了解Web及网络基础


本章概述了Web是建立在何种技术之上,以及HTTP协议是如何诞生并发展的。

1.1 使用HTTP协议访问Web

我们在网页地址栏中输入url时,Web页面是如何呈现的呢?
之前我写过以前博客:从浏览器中输入URL ,到最终看到页面内容,这个中间都经历了那些过程?
在这里插入图片描述Web浏览器地址栏中指定的URL,Web浏览器从Web服务器端获取资源文件等信息,在显示在Web页面。

在这里Web浏览器就是我们所说的客户端

在这里插入图片描述
客户端与服务器之间使用了一种协议,即HTTP(超文本传输协议)。协议也就是一种通信双方约定俗成的规定。

1.2 HTTP的诞生

1.2.1 为知识共享而规划Web

1989年3月,互联网还只属于少数人。在这一互联网的黎明期,HTTP出现了。
在这里插入图片描述
CERN的蒂姆 伯纳斯-李博士提出了一种能让远隔两地的研究者们共享知识的设想。
最初的设想是:借助多文档之间的相互关联形成的超文本,连成可互相参阅的WWW(World Wide Web,万维网)。
现在已提出3项WWW构建技术:

  • SGML(标准通用标记语言):作为页面的文本标记语言的HTML(超文本标记语言)
  • HTTP:文档传递协议
  • URL:指定文档所在地址

WWW这一名称,是Web浏览器当年用来浏览超文本的客户端应用程序时的名称。现在则用来表示这一系列的集合,也可简称为Web。

1.2.2 Web成长时代

1990年11月,CERN成功研发世界上第一台Web服务器和Web浏览器。

  • 日本第一个主页(1992年9月)
  • HTML1.0(1990年)
  • NCSA Mosaic bounce page (1993年1月)
  • The NCSA HTTPd Home Page(1993年秋)

1.2.3 驻足不前的HTTP

  • HTTP/0.9(1.0之前的版本)
  • HTTP/1.0(1996年5月)
  • HTTP/1.1(1997年1月)

1.3 网络基础 TCP/IP

我们通常使用的网络是在TCP/IP协议族的基础上运作的。而HTTP属于它内部的一个子集。(这本书读完之后,后边会更新图解TCP/IP)

1.3.1 TCP/IP协议族

计算机与网络设备要相互通信,双方就必须基于相同的方法 。双方根据相同的规则就行通信,而我们把这种规则称为协议

在这里插入图片描述
像这样把与互联网相关联的协议集合起来总称为TCP/IP。

1.3.2 TCP/IP 的分层管理

TCP/IP 协议族按层次分为一下四层:应用层传输层网络层数据链路层
分层的好处:每个层次内部的设计能自由改动。设计也变得简单。
比如应用层的应用可以只考虑分配给自己的任务,而不需要弄清楚对方在地球上那个地方、对方的传输路线是怎样的、是否能够确保传输送达的问题。这将是其他层考虑的问题。

TCP/IP 协议族各层的作用:
在这里插入图片描述
(这张图上分了五层)
应用层

  • 应用层决定了向用户提供应用服务时通信的活动。
  • TCP/IP 协议族内预存了各类通用的应用服务。比如:FTP(文件传输协议)和DNS(域名系统)服务就是其中的两类。

HTTP协议也处于该层。

传输层

  • 传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。
  • 在传输层有两个性质不同的协议:TCP(传输控制协议)和UDP(用户数据报协议)

网络层(网络互连层)

  • 网络层用来处理网络上流动的数据包。
  • 数据包是网络传输的最小数据单位。
  • 该层规定了通过怎样的路径到达对方计算机,并把数据包传送给对方。
  • 在计算机之间通信时,作用就是在众多的选项内选择一条传输路线

链路层(数据链路层)

  • 用来处理连接网络的硬件部分。

1.3.3 TCP/IP 通信传输流

在这里插入图片描述
利用TCP/IP 协议族进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端则从链路层往上走。
可以参看:从浏览器中输入URL ,到最终看到页面内容,这个中间都经历了那些过程?
在这里插入图片描述
其中将数据信息包装起来的做法成为封装

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

1.4.1 负责传输的IP协议

  • 按照层次分,IP 网际协议位于网络层
  • IP 和 IP地址要区分清楚,“IP” 在这里是一种协议名称
  • IP协议的作用是把各种数据包传送给对方。而确保正确传送就需要两个条件:IP地址和MAC地址(后边会更新趣谈网络协议会讲到,IP 地址是一个网卡在网络世界的通讯地址,相当于我们现实世界的门牌号码。MAC 地址更像是身份证号,是一个唯一的标识。具体后边再说)
  • IP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址。

使用ARP协议凭借MAC地址进行通信

  • IP间的通信依赖MAC地址。
  • ARP协议是一种用以解析地址的协议,根据通信双方的IP地址就可以反查出对应的MAC地址。(到这里我倒是有点迟疑了。。。后边回去在看看去谈网络协议)

没有人能够全面掌握互联网中的传输状况
在到达通信目标前的中转过程中,那些计算机和路由器等网络设备只能获悉很粗略的传输路线。这种机制称为路由选择,有点像快递公司的送货过程。
在这里插入图片描述

1.4.2 确保可靠性的TCP协议

可参看之前的文章:
TCP协议 十大特性详解(上)

TCP协议 十大特性详解(中)

TCP协议 十大特性详解(下)

  • 按层次分,TCP位于传输层,提供可靠的字节流服务。(字节流服务是指,为了方便传输,将大块数据分割成以报文段为单位的数据包进行管理。)
  • 字节流服务,TCP协议就是为了更容易传送大数据才把数据分割。而且TCP协议能够确认数据最终是否送达到对方。

确保数据能够到达目标

  • 三次握手
    在这里插入图片描述
    其他特性,见上边的链接。

1.5 负责域名解析的DNS服务

  • DNS服务和HTTP协议一样位于应用层的协议。它提供域名到IP地址之间的解析服务。
  • 计算机可以被赋予IP地址,同样可以被赋予主机名和域名。比如:www.hackr.jp
  • 我们通常都是通过域名来访问的,而不是直接通过IP地址。
  • 要让计算机理解,就需要将域名转换为IP地址,那么从域名到IP地址就需要DNS服务。
    在这里插入图片描述

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

在这里插入图片描述

1.7 URI和URL

  • URI:统一资源标识符
  • URL:统一资源定位符

1.7.1 统一资源标识符

URI(Uniform Resource Identifier)。

  • Uniform 规定统一的格式可方便处理更多不同类型的资源,而不是根据上下文环境来识别资源指定的访问方式。
  • Resource 资源的定义是“可标识的任意东西”
  • Identifier 表示可标识的对象(标识符)。

综上所述,URI就是有某个协议方案表示的资源的定位标识符。协议方案是指访问资源所使用的协议类型名称。

采用HTTP协议时,协议方案就是http,除此之外还有:ftp、mailto、telnet、file等。

URI用字符串标识某一互联网资源,而URL表示资源的地点。可见URL是RUI的子集。
在这里插入图片描述

1.7.2 URI 格式

绝对URI格式:
在这里插入图片描述

  • 登录信息:用户名和密码
  • 服务器地址:使用绝对URI必须指定带访问的服务器地址
  • 服务器端口号:指定服务器连接的网络端口号
  • 带层次的文件路径:定位特指资源
  • 查询字符串
  • 片段标识符

《参考文献》

图解HTTP
趣谈网络协议

深入理解HTTP协议

TCP协议 十大特性详解(上)

TCP协议 十大特性详解(中)

TCP协议 十大特性详解(下)

从浏览器中输入URL ,到最终看到页面内容,这个中间都经历了那些过程?

猜你喜欢

转载自blog.csdn.net/weixin_45532227/article/details/112720811