文章目录
- 1.简介
- 与 HTTP 有关的组件:osi网络模型
- 与 HTTP 有关的协议:TCP/IP、DNS、URI / URL、HTTPS
- 2.HTTP 请求响应过程
1.简介
HTTP超文本传输协议 :通俗上是一个在电脑之间传输文字、图片、音频、视频等超文本数据的约定和规范
与 HTTP 有关的组件:osi网络模型
与 HTTP 有关的协议:TCP/IP、DNS、URI / URL、HTTPS
-
TCP/IP: 不只有tcp和ip协议,是一系列网络通信协议的统称。 TCP / IP 协议最核心的,其他的还有 UDP、ICMP、ARP 等等,共同构成了一个复杂但有层次的协议栈。
HTTP 使用 TCP 传输控制协议作为通信协议,这是因为 TCP 是一种可靠的协议(三次握手四次挥手),能保证数据不丢失。
IP 协议主要解决的是通信双方寻址的问题。IP 协议使用 IP 地址来标识互联网上的每一台计算机,计算机网络中信息交换必须先要知道对方的 IP 地址。 -
DNS域名解析:把 IP 地址转换为便于人类记忆的协议就是 DNS 协议。作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
-
URI / URL输入访问的地址格式必须要满足 URI 的规范。中文名称是统一资源标识符,使用它就能够唯一地标记互联网上资源。
URL的全称是(Uniform Resource Locator),中文名称是统一资源定位符,也就是我们俗称的网址,它实际上是 URI 的一个子集。
URI 不仅包括 URL,还包括 URN(统一资源名称) -
HTTPS 在 HTTP 的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在 HTTP 的基础上增加了 SSL 层,也就是说 HTTPS = HTTP + SSL。
2.HTTP 请求响应过程
当我们输入网址并点击回车时,浏览器内部会对此请求做如下操作
- DNS服务器会首先进行域名的映射,找到访问www.baidu.com所在的地址,然后HTTP 客户端进程在 80 端口发起一个到服务器 www.baidu.com的 TCP 连接。在客户和服务器进程中都会有一个套接字与其相连。
- HTTP 客户端通过它的套接字向服务器发送一个 HTTP 请求报文。该报文中包含了路径www.baidu.com/home.index 的资源,我们后面会详细讨论 HTTP 请求报文。
- HTTP 服务器通过它的套接字接受该报文,进行请求的解析工作,并从其存储器(RAM 或磁盘)中检索出对象 www.baidu.com/baidu/home.index,然后把检索出来的对象进行封装,封装到 HTTP 响应报文中,并通过套接字向客户进行发送。
- HTTP 服务器随即通知 TCP 断开 TCP 连接,实际上是需要等到客户接受完响应报文后才会断开 TCP 连接。
- HTTP 客户端接受完响应报文后,TCP 连接会关闭。HTTP 客户端从响应中提取出报文中是一个 HTML 响应文件,并检查该 HTML 文件,然后循环检查报文中其他内部对象。
- 检查完成后,HTTP 客户端会把对应的资源通过显示器呈现给用户。