HTTP——web基础
本文为《图解HTTP》第一章总结+摘录。
HTTP是怎么来的?
1989年,一个让相隔两地的学者们知识共享的想法诞生。最初的设想是让文本之间相互关联形成超文本(HyperText),然后连成可相互参阅的WWW(World Wide Web)。现如今,WWW用来表示这一系列技术的集合,也可简称为web。而web是建立在HTTP(HyperText Transfer Protocol)协议上通信的。
在随后的90年代,web技术的发展突飞猛进:服务器和浏览器的诞生、微软和网景的浏览器大战(造成了如今浏览器的兼容问题)、HTTP标准的发布等等。
TCP/IP又是什么?
协议是进行通信的双方之间需要遵循的规则,这种规则我们称之为协议。
TCP/IP协议族是是互联网相关的各类协议的总称,而HTTP协议是它的一个子集。
为了方便管理以及后期的修改,HTTP被分为4个独立的层,每一层都各司其职,通过接口相连。这4层分别为:应用层、传输层、网络层、链路层。
在利用TCP/IP进行通信时,会通过分层顺序与对方进行通信。

发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该层所属的首部信息。反之,接收端在层与层传输数据时,每经过一层时会把对应的首部去除。

TCP/IP四层模型
应用层距离用户最近,有各类通用的应用服务,如FTP、DNS,以及HTTP等。
传输层负责处理数据,这层有两个协议:TCP和UDP。
网络层负责在众多选择中挑选传输路线并将数据包送至对方计算机。
链路层指连接通信网络的所有硬件。
HTTP及与HTTP密切相关的协议
HTTP
HTTP协议位于应用层,负责生成针对目标Web服务器的HTTP请求报文。
HTTP协议的内容及特点将在之后的文章中介绍。
TCP
TCP协议位于传输层,提供字节流服务(Byte Stream Service)。所谓的字节流服务,是将是指将大块数据分割成以报文段(segment)为单位的数据包。除此以外,TCP协议还可以确认数据是否最终送到至对方。
IP
IP协议位于网络层,作用是把各种数据包传送给对方。我们用IP地址和MAC地址来确定对方的位置。IP地址是被网络节点被分配到的地址,MAC地址是指网卡所属的固定地址,IP地址可变,但MAC地址一般不会改变。
在网络中,两个节点间的通信往往需要经过多个计算机和网络设备的中转。在进行中转时,会利用MAC地址来搜索下一个中转目标,这时,会采用ARP协议,该协议会根据IP地址反查出对应的MAC地址。
传输的路线是不可预测的,数据到达一个中转站后,会由该中转站确定下一站去往哪里,这种机制称为路由选择(routing)。
DNS
DNS和HTTP一样位于应用层。提供域名和IP地址之间的解析服务。
域名和IP地址的作用一样,都是用于在通信网络中标识某台计算机。区别是域名以字母为主,更适于人类的记忆习惯,而IP地址是纯数字,是为了计算机处理方便。
DNS负责二者的相互转换。
URI和URL
不是协议,但也是要了解的概念。
URL(Uniform Resource Locator,统一资源定位符)是我们访问网页时在地址栏输入的网址。注意,要和域名区分开,域名可以理解为网站名,是定位地点的,而URL则比域名更为具体,可以定位到网站中的指定资源。
URI(Uniform Resource Identifier,统一资源标识符)是由某个协议方案表示的资源的定位标识符。比如,采用HTTP协议时,协议方案就是http。除此以外,还有ftp、mailto、telnet、file等。标准的URI协议方案有30多种。
URI用字符串标识某一互联网资源,而URL表示资源的地点。URL是URI的子集。
URI格式:

番外:
URL命名是按区域划分管理,区域成树状层次结构。每个区域有一台计算机负责把本区域计算机的IP与名字连一起,提供给需要者查询服务。这些计算机就成了一个系统叫DNS,中文叫域名服务系统。当要找的IP和域名在本区域服务器找不到时,DNS就会到上一层,再没有就再上层,而顶层就是根服务器了。根服务器就是全球跨区域寻址。所以,如果根服务器关闭,则全世界网络各自成为独立系统,但专业人员仍可跨区域连接。
目前全球有13个全球根服务器,1个主根服务器,12个辅根服务器。如果果真美国关闭了13个全球根服务器,整个因特网的经由根服务器的IP地址将无法解析出来,这些域名所指向的网站就会从互联网中消失了。世界上的因特网就变成了一个一个国家的局域网孤岛,互相之间就不能像现在一样互通与联,也就成为不了互联网了。
参考:https://baijiahao.baidu.com/s?id=1606046888966158536&wfr=spider&for=pc