1.万维网(world wide web)
是一个规模巨大的、可以资源互联的资料空间。由URL进行定位,通过HTTP协议传送给使用者,又由HTML来进行文件的展现。
它的主要组成部分是:URL、HTTP、HTML。
(1)URL
统一资源标识符,负责给万维网上的资源定位。URL的组成:
<协议>://<主机>:<端口号>/<路径>
(2)HTTP
超文本传输协议
负责规定浏览器和服务器怎么进行互相交流
(3)HTML
超文本标记语言
用于描述网页文档的一种标记语言
WWW采用C/S模式:
(1)用户使用浏览器建立客户机与服务器的连接,并发送浏览请求
(2)web服务器接收到请求后返回信息到客户机
(3)通信完成后关闭连接
2.HTTP
默认使用80端口提供服务
(1)HTTP工作过程
是在C/S的模式下、基于TCP协议
通过使用浏览器,发起一个到服务器上指定端口(80)的服务请求。一旦收到请求,服务器向客户机发回响应消息。客户端请求和链接端口需大于1024
https://i-blog.csdnimg.cn/direct/67b0965cedd6432db4b81f2ce928d1f1.png" width="369" />
(2)为什么用TCP呢
需要传输很多数据以免乱序
TCP有传输控制
乱序可纠正
(3)HTTP报文
请求报文:客户端向服务器发送的报文
响应报文:服务器向客户机发送的报文
常见HTTP请求报文方法:
号 | 方法 | 描述 |
---|---|---|
1 | GET | 从服务器获取资源。用于请求数据而不对数据进行更改。例如,从服务器获取网页、图片等。 |
2 | POST | 向服务器发送数据以创建新资源。常用于提交表单数据或上传文件。发送的数据包含在请求体中。 |
3 | PUT | 向服务器发送数据以更新现有资源。如果资源不存在,则创建新的资源。与 POST 不同,PUT 通常是幂等的,即多次执行相同的 PUT 请求不会产生不同的结果。 |
4 | DELETE | 从服务器删除指定的资源。请求中包含要删除的资源标识符。 |
5 | PATCH | 对资源进行部分修改。与 PUT 类似,但 PATCH 只更改部分数据而不是替换整个资源。 |
6 | HEAD | 类似于 GET,但服务器只返回响应的头部,不返回实际数据。用于检查资源的元数据(例如,检查资源是否存在,查看响应的头部信息)。 |
7 | OPTIONS | 返回服务器支持的 HTTP 方法。用于检查服务器支持哪些请求方法,通常用于跨域资源共享(CORS)的预检请求。 |
8 | TRACE | 回显服务器收到的请求,主要用于诊断。客户端可以查看请求在服务器中的处理路径。 |
9 | CONNECT | 建立一个到服务器的隧道,通常用于 HTTPS 连接。客户端可以通过该隧道发送加密的数据。 |
(3)HTTP各版本的对比
特性 | HTTP/1.0 | HTTP/1.1 | HTTP/2 | HTTP/3 |
---|---|---|---|---|
协议类型 | 文本协议 | 文本协议 | 二进制协议 | 基于 UDP 的 QUIC |
连接模式 | 非持久连接 | 持久连接 | 持久连接 | 基于 QUIC 的连接 |
多路复用 | 不支持 | 不支持 | 支持 | 支持 |
队头阻塞 | 存在 | 存在 | 部分解决 | 完全解决 |
连接建立延迟 | 高 | 高 | 较低 | 极低(支持 0-RTT) |
缓存支持 | 基础支持 | 完善支持 | 完善支持 | 完善支持 |
传输安全性 | 无 | 无 | 依赖 TLS | 依赖 TLS 1.3 |
性能开销 | 高 | 较高 | 较低 | 较低 |
适用场景 | 静态网页 | 小型项目 | 动态网站 | 实时通信和高延迟网络 |