HTTP | 青训营

75 阅读3分钟
  1. HTTP基本概念:

    • HTTP是无状态的:每个HTTP请求都是相互独立的,服务器不会保留关于请求的任何信息。这就需要使用会话(Session)来跟踪用户的状态。
    • HTTP是基于请求-响应模型:客户端发送请求给服务器,服务器处理请求并返回响应。请求由请求行、请求头和请求体组成,响应由状态行、响应头和响应体组成。
    • HTTP默认使用TCP作为传输协议,使用80端口。
  2. HTTP请求方法(HTTP Methods):

    • GET:获取指定资源。
    • POST:向服务器提交数据,创建新资源。
    • PUT:更新指定资源。
    • DELETE:删除指定资源。
    • HEAD:获取资源的元信息,不返回实际内容。
    • OPTIONS:获取服务器支持的HTTP方法。
    • PATCH:对资源进行局部更新。
  3. HTTP状态码(HTTP Status Codes):

    • 2xx:成功。例如200 OK表示请求成功。
    • 3xx:重定向。例如301 Moved Permanently表示资源被永久移动到其他位置。
    • 4xx:客户端错误。例如404 Not Found表示请求的资源不存在。
    • 5xx:服务器错误。例如500 Internal Server Error表示服务器内部发生错误。
  4. HTTP报文(HTTP Message):

    • 请求报文:包含请求行、请求头和请求体。
    • 响应报文:包含状态行、响应头和响应体。
  5. HTTP头部字段(HTTP Headers):

    • User-Agent:标识客户端信息,通常是浏览器的名称和版本号。
    • Content-Type:指定请求或响应中的内容类型,例如text/html、application/json等。
    • Cookie:存储在客户端的小型数据片段,用于跟踪会话状态。
    • Authorization:用于在请求中传递身份验证信息。
    • Cache-Control:控制缓存的行为,例如no-cache表示不使用缓存。
  6. HTTP持久连接(HTTP Persistent Connection):

    • HTTP/1.1引入了持久连接,允许多个HTTP请求和响应共享同一个TCP连接,减少连接建立的开销。
    • 通过设置Connection头部字段为keep-alive来启用持久连接。
  7. HTTPS(HTTP Secure):

    • HTTPS在HTTP基础上添加了SSL/TLS加密层,通过对数据进行加密和身份验证,提供了更安全的通信方式。
  8. HTTP缓存(HTTP Caching):

    • HTTP缓存可以减少对服务器的请求,提高性能和加载速度。
    • 常见的缓存机制包括浏览器缓存、代理服务器缓存和CDN(内容分发网络)缓存。
    • HTTP头部字段中的Cache-Control和Expires可以控制缓存行为。
    • 常用的缓存策略包括强缓存和协商缓存。
  9. HTTP2:

    • HTTP2是HTTP/1.1的升级版本,引入了新的特性以提升性能和效率。
    • HTTP2使用二进制协议而非文本协议,提供了更高效的解析和传输。
    • 多路复用(Multiplexing)允许在同一个连接上同时发送多个请求和响应,减少了延迟。
    • 服务器推送(Server Push)允许服务器在客户端请求之前主动发送相关资源。
    • 头部压缩(Header Compression)减少了请求和响应中的头部大小,节省带宽和传输时间。
  10. RESTful API:

    • REST(Representational State Transfer)是一种设计风格和架构原则,用于构建可伸缩和可维护的网络服务。
    • RESTful API是符合REST原则的API设计方式。
    • RESTful API使用标准的HTTP方法(GET、POST、PUT、DELETE等)来操作资源。
    • 资源通过URL进行标识,通过请求的方式来表示对资源的操作。
    • 响应通常以JSON或XML格式返回。