HTTP涉及到的知识非常多,要深刻全面的掌握HTTP,可以从外围的相关概念开始各个击破。
1 B/S 结构
B/S 结构是Browser/Server(浏览器-服务器)结构的简称,是Web的发展兴起的的一种网络结构模式,与C/S结构不同,其客户端只需要浏览器即可,而不需要安装专门的软件,客户端通过浏览器经Web服务器与数据库进行通信,而这个通信使用的就是HTTP协议。
简而言之,B/S架构的工作模式就是浏览器请求,服务器响应。
我们平常上网浏览网页就是最形象的例子。首先在浏览器输入网址,访问目标服务器,目标服务器返回我们请求的页面内容,浏览器将页面呈现在窗口里。
2 URI和URL
似乎我们比较熟悉URL,因为听得次数和见得次数比较多,但也仅仅是面熟而已,背后的知识未必了解。但是,作为前端的你,不能知道的如此泛泛。先摆出三个概念:URI,URL和URN。
URI:Uniform Resource Identifier,统一资源标识
URL:Uniform Resource Locator,统一资源定位
URN:Uniform Resource Locator,统一资源名称
三者的关系是:URI包含URL和URN,URL 只是 URI 的一个子集,或者说URL和URN是URI的两种形式。
形象的理解就是URL就是你快递单上你家的地址,URN就是你的手机号或者身份证。通过URL可以找到你家(唯一),通过URN可以找到你(唯一)。
URI的文法如下:
3 TCP/IP的分层
之前提到过TCP/IP协议的概念和分为四个层,但是没有对四个层进行详细的讨论。这里就接上,首先回顾下TCP/IP分为应用层、传输层 、网络层和链路层。
1 应用层
应用层负责的是应用程序的相互通信。应用层面向不同的网络应用引入了不同的应用层协议,其中,有基于TCP协议的,如FTP文件传输协议、简单电子邮件传输(SMTP)、网络远程访问协议(TELNET)、HTTP。
2、传输层
传输层的功能是使源端主机和目标端主机上的对等实体可以进行会话。在传输层有两个性质不同的协议,TCP和UDP。这一层负责数据的传送,并且确定数据已被送达并接收。
3、网络层
也叫互连网络层,是整个TCP/IP协议族的核心部分。它的功能是把分组发往目标网络或主机。网络层用来处理在网络上流动的数据包,数据包是网络传输的最小数据单位。网络互连层定义了分组格式和协议,最熟悉的就是IP协议,Internet Protocol,注意这个IP不是指IP地址的意思。
4、链路层
链路层也有叫网络接口层,用来处理连接网络的硬件部分。接收IP数据报并进行传输,从网络上接收物理帧,抽取IP数据报转交给下一层,对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。
用一次通信把四个层连接起来的就是:
4 DNS
DNS是英文 Domain Name System的缩写,即域名系统。它包含IP地址与对应域名之间的映射,它所提供的服务是用来将主机名和域名转换为IP地址的工作,并且DNS也是应用层协议。之所以需要这么一个服务是因为,对于人来说,具有含义特定的字符比单纯的数字IP地址更易于记忆和传播,而计算机则相反,必须通过IP地址进行定位。所以才会有专门有这么一个DNS解析服务。而域名解析也是你在浏览器输入域名开始访问的第一步。需要注意的是DNSDNS服务器一般分根DNS服务器,顶级DNS服务器,权威DNS服务器三种。
有了以上的概念,我们大概能勾勒出我们常见的输入网址到打开页面背后的通信过程了。
领取专属 10元无门槛券
私享最新 技术干货