【图解HTTP】二、了解Web及网络基础

知识点

● 使用HTTP协议访问Web
● HTTP的诞生
● 网络基础TCP/IP
● 与HTTP关系密切的协议:IP、TCP和DNS
● 负责域名解析的DNS服务
● 各种协议与HTTP协议的关系
● URI 和 URL

● 本文主要介绍 Web 是建立在何种技术之上,以及 Http 协议是如何诞生并发展的。
1. 使用 HTTP 协议访问 Web

提问:当在浏览器的地址栏内输入URL时,Web页面是如何呈现的?

运行原理: 在浏览器地址栏输入URL之后,客户端通过指定的访问地址 获取(或上传)服务器文件资源等信息;然后从服务器获得回复,内容才会显现在Web页面上。

其中,通过发送请求获取服务器资源的Web浏览器等,都可称为客户端(client);协议指规则的约定;Web通过HTTP协议(超文本协议)作为规范,完成从客户端到服务器等一系列运作流程。可以说,Web是建立在HTTP协议上通信的。

2.HTTP的诞生

为知识共享而规划Web ----> Web成长时代 ----> 驻足不前的HTTP

● 作为Web文档传输协议的HTTP,它的版本几乎没有更新。新一代的HTTP/2.0正在制定中,但要达到较高的使用覆盖率,仍需假以时日。
● 当年HTTP协议的出现主要是为了解决文本传输的难题。由于协议本身非常简单,于是在此基础上设想了许多应用方法并投入了实际使用。现在HTTP协议已经超出了Web这个框架的局限,被应用到了各种场景里。

ps:
1.HTTP通常被译为超文本传输协议,但这种译法不严谨,应该为超文本转移协议。但由于前一种译法约定俗成,一直沿用。
2.WWW这一名称,是Web浏览器当年用来浏览器超文本的客户端应用程序时的名称。现在则用来表示这一系列的集合,也可简称为Web。

3.网络协议HTTP/IP

通常使用的网络(包括互联网)是在TCP/IP协议族的基础上运作的;而HTTP只是它内部的一个子集。

3.1 TCP/IP协议族

● 把与互联网相关联的协议集合起来的总称为TCP/IP;也有说法认为,TCP/IP是指TCP和IP这两种协议;TCP是在IP协议的通信过程中,使用到的协议族的统称。

3.2 TCP/IP分层管理

TCP/IP协议族按层次分为应用层、传输层、网络层和数据链路层四层。

把TCP/IP层次化方便改动某一层的内容,设计也相对简单。TCP/IP协议族各层的作用如下:

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

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

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

链路层(又名数据链路层,网络接口层)
用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(网络适配器,即网卡),及光纤等物理可见部分(还包括连接器等一切传输媒介)。硬件上的范畴均在链路层的作用范围之内。

3.3 TCP/IP通信传输流

● 利用TCP/IP协议族进行网络通信时,会通过分层顺序对对方进行通信。发送端从应用层往下走,接收端则从链路层往上走。
 
● 我们用HTTP举例说明:
  ● 首先作为发送端的客户端在应用层(HTTP协议)发送一个想看某个Web页面的HTTP请求。
  ● 然后,为了传输方便,在传输层(TCP协议)把从应用层处收到的数据(HTTP请求报文)进行分割,并在各个报文上打上标记序号及端口号后转发给网络层。
  ● 在网络层(IP协议),增加作为通信目的地的MAC地址后转发给链路层。如此,发往网络的通信请求就准备齐全了。
  ● 接收端的服务器在链路层接收到数据,按序往上层发送,一直到应用层。当传输到应用层,才能算真正接收到由客户端发送过来的HTTP请求。

发送端在层级化之间传输数据时,每经过一层时必定会被打上一个该层所属的首部信息。反之,接收端在层与层传输数据时,每经过一层时会把对应的首部消去。把数据信息包装起来的方法称作封装

4.与HTTP关系密切的协议:IP、TCP
4.1 负责传输的IP协议

IP协议的作用是把各种数据包传送给对方。其中,IP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址;IP地址可以和MAC进行配对,IP地址可变换,但MAC地址基本上不会更改。

使用ARP协议凭借MAC地址进行通信:ARP是一种用以解析地址的协议,根据通信方的IP协议就可以反查出对应的地址。

没有人能全面掌握互联网中的运输状况,类似于快递公司的运货过程,想要寄快递的人,只要将自己的货物运送到集散中心,就可以知道快递公司是否肯收件发货,该快递公司的集散中心检查货物的送达地址,明确下站该送往哪个区域的集散中心。接着,哪个区域的集散中心自会判断是否能送到对方家中。说明,无论那台计算机、那台电脑设备、它都无法全面掌握互联网中的细节。

4.2 确保可靠性的TCP协议

TCP位于运输层,提供可靠的字节流服务。所谓的字节流服务是指,为了方便传输,将大块数据分割以报文段为单位的数据包进行管理。总之,TCP协议为了更容易传送大数据才能数据分割,而且TCP协议能够确认数据是否送达到对方。

确保数据能到达目标
为了准确无误的将数据送达目标处,TCP协议采用了三次握手
● 客户端首先发送一个带SYN标注的数据包给对方。
● 接受端收到后,回传一个带有 SYN/ACK 标志的数据包以示传达确认信息。
● 最后,发送端再回传一个带ACK标志的数据包,以示“握手”结束。

tip: ● 若在握手过程中某个阶段莫名中断,TCP协议会再次以相同的顺序方送相同的数据包。
● 除了上述三次握手,TCP协议还有其他手段来保证通信的可靠性。

5.负责域名解析的DNS服务

DNS服务是和HTTP协议一样位于应用层的协议,提供域名到IP地址之间的解析服务
● 计算机既可以被赋予IP地址,也可以被赋予主机名域名
● DNS协议提供通过域名查找IP地址,或逆向从IP地址反查域名的服务。

6.各种协议与HTTP协议的关系

● HTTP协议的职责:生成针对目标Web服务器的HTTP请求报文;对Web服务器请求的内容的处理。
TCP协议的职责:为了方便通信,将HTTP请求报文段按序号分为多个报文段,并把每个报文段可靠的传给对方;从对方哪里接收到的报文段,按序号以原来的顺序,重组到达的请求报文段。
IP协议的职责:搜索对方的地址,一边中转一边传送。
● 请求的处理结果也同样利用TCP/IP通信协议向用户进行回传。

7.URI 和 URL

UPI(统一资源标识符):用字符串标识某一互联网资源,由某个协议方案表示的资源的定位标识符。
URL(统一资源定位符):资源的地点(互联网上所处的位置),使用Web浏览器等访问Web页面时需要输入的网页地址。可见,URL是URI的子集。

URI格式

● 表示指定的URI,要使用覆盖全部必要信息的绝对URI、绝对URL以及相对URL。相对URL,是指从浏览器中基本URI处所指定的URL。
● 一个完整的URI包括登录信息(认证)浏览器地址服务器端口号、带层次的文件路径、查询字符串以及片段标识符等。其中,服务器端口号是指定服务器连接的网络端口号,查询字符串针对以指定的的文件路径内的资源,可以使用查询字符串传入任意参数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值