没错,我现在在后悔为什么昨天没有更新,摆
HTTP(超文本传输协议)
HTTP是一种用于在计算机网络之间传输超文本(如 HTML、CSS、图片等)的应用层协议,构建在TCP/IP协议之上,通过客户端-服务器模型工作:客户端(eg.浏览器)向服务器发送请求,服务器处理请求并返回响应,默认端口80
HTTP特点和一些概念
- 无连接性: 每个HTTP请求/响应都是独立的,服务器不会记住之前的请求
- 无状态性: 服务器不会记住之前的请求状态,每个请求都是独立的,需要在每个请求中传递必要的信息
- 请求-响应模型: HTTP遵循客户端-服务器模型,客户端发送请求,服务器返回响应。这种模型使得客户端和服务器能够分离开发和演化
- 基于文本: HTTP的消息(请求和响应)是基于文本的,易于阅读和调试
- 灵活性: 允许在请求和响应中传递各种类型的数据,如HTML、CSS、JS、img、video等
- 头部信息: 请求和响应都包含头部信息,用于传递关于请求/响应的元数据
- 内容类型: 通过Content-Type头部指定传输数据的格式,例如text/html、application/json等
- 请求方法: 常见的HTTP请求方法包括 GET(获取资源)、POST(发送数据)、PUT(更新资源)、DELETE(删除资源)等
- 状态码: 服务器在响应中返回状态码,表示请求的结果状态,例如 200(成功)、404(未找到)、500(服务器错误)等。HTTP 状态码完整指南 - 掘金 (juejin.cn)
- URL: 通过URL(统一资源定位符)标识要获取或操作的资源位置,格式:
<协议>://<域名>:<端口>/<路径>
HTTPS(超文本传输安全协议)
HTTPS是HTTP的安全版本,通过加密来保护数据在传输过程中的安全性。在HTTPS中,数据在发送和接收过程中会被加密,第三方将无法轻易截取和理解传输的数据。默认端口443,特点如下:
- 加密: 数据在传输过程中被加密,确保敏感信息不容易被窃取
- 身份验证: 通过SSL/TLS证书验证服务器的身份,防止中间人攻击
- 数据完整性: 通过加密校验,确保数据在传输过程中没有被篡改
HTTP/2
HTTP/2是HTTP协议的下一个主要版本,提供更快、更有效的数据传输,与HTTP/1相比,HTTP/2引入了一些新特性,例如:
- 多路复用: 允许多个请求/响应共享同一个连接,避免了"队头阻塞"问题,提高了效率
- 头部压缩: 减少了请求和响应头部的数据量,降低了传输开销
- 服务器推送: 服务器可以在客户端请求之前主动将某些资源推送给客户端,提升页面加载速度
- 二进制传输: 数据以二进制格式传输更高效