HTTP协议

HTTP协议

  • 网络通信分层

    • image

  • 一个http请求的分层解析流程

    • image

    • image

  • 基础介绍

    • 定义

  HTTP是一种无状态的、基于请求-响应模式的协议,最初设计用于传输超文本(如HTML文档),现在已支持任意类型的数据传输。

    • 特点

      • 无连接​:早期版本每次请求建立新连接,HTTP/1.1支持持久连接
      • ​无状态​:服务器不记录客户端状态信息
      • ​媒体独立​:可传输任意类型数据
      • ​支持C/S架构​:客户端-服务器模型
    • 报文格式

      • 请求报文和相应报文基本相同,包括

        • 起始行:描述请求和相应的基本信息
        • 头部字段集合:使用key_value形式详细的说明报文
          • 通用头部字段

            • Cache-Control:缓存控制

            • Connection:连接管理

            • Date:消息创建时间

          • 请求头部字段

            • Accept:可接受的媒体类型

            • Authorization:认证信息

            • User-Agent:客户端信息

          • 响应头部字段

            • Server:服务器信息

            • Set-Cookie:设置Cookie

            • Location:重定向目标

        • 消息正文:实际传输的消息,纯文本、图片、视频等二进制
        • image

      • 请求报文格式

        • image

        • 请求方法

          • ​GET​:获取资源
          • ​POST​:提交数据
          • ​PUT​:更新完整资源
          • ​DELETE​:删除资源
          • ​PATCH​:部分更新资源
          • ​HEAD​:获取头部信息
          • ​OPTIONS​:查询支持的方法
        • 请求目标
        • 版本号
      • 相应报文格式

        • 版本号:HTTP协议版本

        • 状态码:一个三位数,表示处理结果

          • 状态码范围

            • 1xx​:信息性状态码

            • 2xx​:成功状态码

            • ​3xx​:重定向状态码

            • ​4xx​:客户端错误状态码

            • ​5xx​:服务器错误状态码

          • 常用状态码

            • 200 OK:请求成功

            • 301 Moved Permanently:永久重定向

            • 400 Bad Request:错误请求

            • 404 Not Found:资源未找到

            • 500 Internal Server Error:服务器内部错误

        • 原因:状态码的补充

    • HTTP版本演进

      • HTTP/0.9
        • 简单协议,只支持GET方法
        • 无头部字段,无状态码
      • HTTP/1.0
        • 引入方法、状态码、头部字段
        • 每次请求建立新连接
      • HTTP/1.1(当前主流)
        • 持久连接
        • 管道化
        • 分块传输编码
        • 缓存优化
      • HTTP/2
        • 二进制分帧
        • 多路复用
        • 头部压缩
        • 服务器推送
      • HTTP/3
        • 基于QUIC协议(UDP)
        • 改进连接建立
        • 更好的移动网络支持
    • Cookie和Session

      • Cookie机制
        • 服务器通过Set-Cookie头部设置
        • 客户端自动在请求中携带Cookie
        • 用于状态保持
      • Session机制
        • 服务器端存储用户状态
        • 通过Session ID标识

 

posted @ 2025-11-09 15:18  直至成伤  阅读(1)  评论(0)    收藏  举报