定义:
超文本传输协议(HTTP)是一种通信协议,允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器
HTTP是一个属于应用层的面向对象的协议,由于其简洁、快速的方式,适用于分布式超媒体信息系统。
Web与HTTP:
- WEB是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统
- 建立在Internet上的一种网路服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面
HTTP的前世今生:
TCP/IP眼里的HTTP:
HTTP协议是构建在TCP/IP协议之上的,是TCP/IP协议的一个子集
TCP/IP族:
TCP/IP协议其实是一系列与互联网关联的协议集合的总称
分层管理是TCP/IP协议的重要特征
TCP/IP族由四层协议组成:
应用层:
一般是我们编写的应用程序,决定了向用户提供的应用服务。应用层可以通过系统调用与传输层进行通信
如:FTP DNS HTTP等
传输层:
通过系统调用向应用层提供处于网络连接中的两台计算机之间的数据传输功能
在传输层有两个性质不同的协议:TCP和IP
使用TCP协议进行通信的双方必须先建立连接,然后才能开始传输数据。
为了确保连接双方可靠性,在双方建立连接时,TCP协议采用了三次握手策略
网络层:
又叫网络互连层,处理在网络上流动的数据包,数据包是网路传输的最小数据单位。
该层规定了通过怎样的路径(传输路线)到达对方机器,并把数据包传输给对方
数据链路层:
处理连接网络的硬件部分,包括控制操作系统、硬件设备驱动、NIC(Network Interface Card,网络适配器)以及光纤等物理可见部分
硬件上的范畴均在链路层的作用范围之内
数据包的封装:
HTTP数据传输过程:
发送端发送数据时,数据会从上层传输到下层,且每经过一层都会被 打上该层的头部信息。
而接收端接收数据时,数据会从下层传输到上层,传输前会把下层的头部信息删除
DNS域名解析:
提供域名到IP地址之间的解析服务
回溯HTTP事务处理过程: