浏览器背后的故事
Http
·超文本传输协议(HTTP)是一种通信协议它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器
·HTTP是一个属于应用层的面向对象的协议由于其简捷快速的方式,适用于分布式超媒体信息系统
它于1990年提出经过几年的使用与发展得到不断地完善和扩展
Web与Http
·WEB是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统
·建立在 Internet上的一种网络服务为浏览者在 Internet上查找和浏览信息提供了图形化的
易于访问的直观界面,其中的文档及超级链接将 Internet上的信息节点组织成一个互为关联的网状结构
HTTP协议的前世今生
·1990年10月万维网之父Timearners-Lee最早提出了HTTP协议
·1991年HTP0.9诞生
·1996年5月HTTP1.0发布
·1997年1月HTTP11发布
·2015年5月HTTP20提出
·HTTP3.0QUIC协议
透过TCPIP看HTTP
TCP/IP协议族
·CP/IP协议其实是一系列与互联网相关联的协议集合起来的总称
·分层管理是TCP/P协议的重要特征
TCP/IP协议族分层
·TCP/IP协议族是由一个四层协议组成的系统,这四层分别为:应用层、传输层、网络层和数据链路层
应用层:
应用层一般是我们编写的应用程序,解决了向用户提供的应用的服务。应用层可以通过系统调用与传输层进行通信
如:FTP`DNS`HTTP等...
传输层:
传输层通过系统调用向应用层提供处于网络连接中的两台计算机之间的数据传输功能
在传输层有两个性质不同的协议:
TCP and UDP
网络层:
网络层用来处理在网络上流动的数据包,数据包是网络传输的最小数据单位,该层规定了通过怎样的线路径(传输线路)
到达对方计算机,并把数据包传输给对方
链路层:
链路层用来处理连接网络的硬件部分,包括控制操作系统,硬件设备驱动NIC Network Interface Card (网络适配器)
以及光纤等物理可见部分。硬件上的范畴在链路层的作用范围之内
数据包的的封装过程
Http数据传输过程
·发送端发送数据时,数据会从上层传输到下层,且每经过一层都会被打上该层的头部信息。
而接收端接收数据时,数据会从下层传输到上层,传输前会把下层的头部信息删除
传输层 --- TCP三次握手
使用TCP协议进行通信的双方必须先建立连接,然后才能开始传输数据。为了确保连接双方可靠性,在双方建立连接时,
TCP协议采用了三次握手策略
第一次握手
·客户端发送带有SYN标志的连接请求报文段,然后进入SYN_SEND状态,等待服务端确认
第二次握手:
服务端接受到客户端的SYN报文段后,需要发送ACK信息对这个SYN报文段进行确认同时还要发送给自己的SYN请求信息。服务端会将上述
的信息放到一个报文段(SYA+ACK报文段)中一并发送给客户端此时服务端将会进入SYN_RECV状态
第三次握手:
客户端接受到服务端的SYN+ACK报文端后会想服务端发送给ACK确定报文段,这个报文段发送完毕后客户端和服务段都进入ESTABLISHER
状态完成TCP三次握手。
DNS域名解析
·已经介绍了与HTTP协议有着密切关系的TCP/IP协议,接下来介绍的DNS服务也是与HTTP协议有着密不可分的关系。
·通常我们访问一个网站,使用的是主机名或者域名来进行访问的。因为相对于P地址(一组纯数字),域名更容易让人记住。
但TCP/IP协议使用的是IP地址进行访问的,所以必须有个机制或服务把域名转换成|P地址。
DNS服务就是用来解决这个问题的,它提供域名到P地址之间的解析服务。
回溯TTP事务处理过程
当客户端访问Web站点时,首先会通过DNS服务查询到域名的|P地址。然后浏览器生成HTTP请求,并通过TP/IP协议发送给Web服务器。
Web服务器接收到请求后会根据请求生成响应内容,并通过CP/IP协议返回给客户端。
标签:协议,HTTP,4DNS,IP,报文,TTP,域名解析,TCP,客户端 From: https://www.cnblogs.com/agzq/p/17278210.html