《图解HTTP》笔记——了解WEB及网络基础

我们使用地址栏跳转访问页面的这个动作时候,其实就已经通过我们的HTTP协议去访问了我们的网络资源。

从最简化的角度来看,简而言之就是客户端(一般来说就是我们的浏览器)将页面的请求发送到了服务端,服务端接到了请求,将客户端所要的资源给到了客户端,这是通信最基本的两个端。

他们通信之间使用的“语言”其实就是HTTP协议,就好像我们的英语一样,这种通用性语言是得到国际认可的,所以HTTP协议是一种通用的规范。

HTTP简史:

超文本传输协议,这个东西跟其他的任何技术一样,都是应当时需求而产生的。 在HTTP诞生以前,互联网只属于一小部分人,人们还没有办法让隔绝两地的网络通信交流,这时候一些秉承知识共享的积极分子开始提议让世界“连接”在一起。人们可以在网络上将文档通过一致规范传输 到世界各地。

虽说HTTP是在1990年问世,但其实几乎没有怎么更新,现如今最常使用的HTTP协议仍然1997年1月公布的HTTP/1.1,说明HTTP在目前仍然可以应对基本的需求。

TCP/IP协议族:

为了更好的理解HTTP需要了解一下TCP/IP协议族。

在网络通信的环节当中,我们无法保证通信的方法一致,不同的硬件、操作系统以及探测的方式等等有关通信环节,都需要用一套规则去约束统一,而这样的规则就称为‘协议’

这些协议的集合有一个总称——‘TCP/IP’。 HTTP其实也就是它的一个子集。

TCP/IP协议族的分层管理:

TCP/IP协议族根据网络通信环节不同职能会有不同层次的划分。

分别是:应用层、传输层、网络层和数据链路层。

这样分层的好处也是不言而喻的,这样设计就像是一排排管道一样,每一层运作的时候只需要将下一层需要的东西给到,下一层只需要负责处理上一层给到的东西即可,不需要关心上一层是如何运作的,这样设计为的是在未来可以自由的进行改动。

从发送端到接收端的过程是这样的:

发送端会从应用层一直往下走,这里的应用层一般就是HTTP协议来处理,它用来发送出一个HTTP请求。

接着为了传输方便,会在传输层用到TCP协议,把从应用层传输过来的数据(HTTP请求报文)进行分割,将它的数据切割成一个个数据包,分别标上序号。

接着转到了网络层,数据切分完后,需要处理的就是传送到哪里问题了。 这里使用的是IP协议,数据会被增加作为通信目的地的MAC地址后转发到链路层。

数据在这些层次的中转的时候都会包装一些信息,这些行为称之为封装,就像下面这样:

与HTTP密切相关的协议

IP协议:

这个协议位于网络层,他的作用主要在于数据传送上面。

而要保证数据能够到达到对方的手里,就必须要知道目标端的IP地址和MAC地址。仅仅知道目标端的IP地址是无法达成网络通信的要求的,在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。

那么MAC地址从哪里来?它依赖于地址解析协议 (ARP),他的作用在于解析目标IP地址为MAC地址。

地址解析协议——维基百科

那这样是不是就解决了呢? 不是,在不是同一局域网下的机器是无法用MAC地址互相访问的,ARP的另一个作用就是在这个过程增加了路由的中转。而且这个中转的过程是不可掌握的,路由只管着收集/分发。

图示如下:

这就有点像是送货的过程,送货人员只需要知道他的下一站是什么,

TCP协议:

TCP协议位于传输层,提供可靠的字节流服务,能够将需要传送到目标端的数据切割,为的就是能够方便传送大数据,除此之外TCP协议还能够保证数据是否到达到对方手里

著名的TCP三次握手:

这个过程为的是确认数据是否送达到对方手里,TCP将数据推送出去之后不会置之不理,他会发送一个标志位SYN的数据包给对方,对方接受到了之后会响应给客户端一个SYN/ACK来表示确认信息,最后客户端会回传一个ACK数据给到接收端,以示“握手结束”

如果这个过程有中断,那么握手会重新以相同的顺序开始。

DNS协议(域名解析):

我们知道现在访问一个网站或者说是主机的时候,会使用域名去访问,这样的访问方式会比我们直接使用IP地址去访问它来的方便,因为数字对人类的记忆是不友好的。

但同时对于机器来说就有点为难,因为机器无法理解这样一串英文,这也是DNS协议出现的原因, 他的作用在于可以逆向解析域名为IP地址,这样机器就能够处理它擅长的东西了。

整体运作图示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值