-
HTTP基本概念:
- HTTP是无状态的:每个HTTP请求都是相互独立的,服务器不会保留关于请求的任何信息。这就需要使用会话(Session)来跟踪用户的状态。
- HTTP是基于请求-响应模型:客户端发送请求给服务器,服务器处理请求并返回响应。请求由请求行、请求头和请求体组成,响应由状态行、响应头和响应体组成。
- HTTP默认使用TCP作为传输协议,使用80端口。
-
HTTP请求方法(HTTP Methods):
- GET:获取指定资源。
- POST:向服务器提交数据,创建新资源。
- PUT:更新指定资源。
- DELETE:删除指定资源。
- HEAD:获取资源的元信息,不返回实际内容。
- OPTIONS:获取服务器支持的HTTP方法。
- PATCH:对资源进行局部更新。
-
HTTP状态码(HTTP Status Codes):
- 2xx:成功。例如200 OK表示请求成功。
- 3xx:重定向。例如301 Moved Permanently表示资源被永久移动到其他位置。
- 4xx:客户端错误。例如404 Not Found表示请求的资源不存在。
- 5xx:服务器错误。例如500 Internal Server Error表示服务器内部发生错误。
-
HTTP报文(HTTP Message):
- 请求报文:包含请求行、请求头和请求体。
- 响应报文:包含状态行、响应头和响应体。
-
HTTP头部字段(HTTP Headers):
- User-Agent:标识客户端信息,通常是浏览器的名称和版本号。
- Content-Type:指定请求或响应中的内容类型,例如text/html、application/json等。
- Cookie:存储在客户端的小型数据片段,用于跟踪会话状态。
- Authorization:用于在请求中传递身份验证信息。
- Cache-Control:控制缓存的行为,例如no-cache表示不使用缓存。
-
HTTP持久连接(HTTP Persistent Connection):
- HTTP/1.1引入了持久连接,允许多个HTTP请求和响应共享同一个TCP连接,减少连接建立的开销。
- 通过设置Connection头部字段为keep-alive来启用持久连接。
-
HTTPS(HTTP Secure):
- HTTPS在HTTP基础上添加了SSL/TLS加密层,通过对数据进行加密和身份验证,提供了更安全的通信方式。
-
HTTP缓存(HTTP Caching):
- HTTP缓存可以减少对服务器的请求,提高性能和加载速度。
- 常见的缓存机制包括浏览器缓存、代理服务器缓存和CDN(内容分发网络)缓存。
- HTTP头部字段中的Cache-Control和Expires可以控制缓存行为。
- 常用的缓存策略包括强缓存和协商缓存。
-
HTTP2:
- HTTP2是HTTP/1.1的升级版本,引入了新的特性以提升性能和效率。
- HTTP2使用二进制协议而非文本协议,提供了更高效的解析和传输。
- 多路复用(Multiplexing)允许在同一个连接上同时发送多个请求和响应,减少了延迟。
- 服务器推送(Server Push)允许服务器在客户端请求之前主动发送相关资源。
- 头部压缩(Header Compression)减少了请求和响应中的头部大小,节省带宽和传输时间。
-
RESTful API:
- REST(Representational State Transfer)是一种设计风格和架构原则,用于构建可伸缩和可维护的网络服务。
- RESTful API是符合REST原则的API设计方式。
- RESTful API使用标准的HTTP方法(GET、POST、PUT、DELETE等)来操作资源。
- 资源通过URL进行标识,通过请求的方式来表示对资源的操作。
- 响应通常以JSON或XML格式返回。