• HTTP协议



    一,HTTP的发展史

    HTTP概念

    超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上最为广泛的一种网络协议。所有的www文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。

    HTTP协议和TCP/IP协议簇内的其他众多协议相同,用于客户端和服务端直接的通信。

    HTTP发展史

    1989 - HTTP诞生
    最初设想:借助多文档之间互相关联形成的超文本(HyperText),连接可相互参阅www(万维网)。

    1990 - HTTP/9.0
    HTTP于1990年问世。

    1996 - HTTP/1.0
    1996年5月,HTTP正式作为标准被公布。

    1997 - HTTP/1.1
    1997年1月公布的HTTP/1.1是目前主流的HTTP协议版本。

    二,HTTP协议结构

    HTTP通信过程

    在这里插入图片描述

    HTTP报文

    用于HTTP协议交互的信息被称为HTTP报文,请求断的HTTP报文叫做请求报文,响应端的叫做响应报文。HTTP报文是由多行(CR:回车符+LF:换行符 作为换行符)数据构成的字符串文本。
    在这里插入图片描述

    请求报文及响应报文的结构

    在这里插入图片描述

    HTTP请求报文

    在这里插入图片描述

    HTTP方法

    GET:请求访问已被URL识别的资源。
    POST:传输实体的主体。
    PUT:传输文本。
    HEAD:HEAD方法和GET方法一样,只是不返回报文主体部分。用于确认URl的有效性及资源更新的日期时间等。
    DELETE:删除文件。
    OPTIONS:查询针对请求URL指定的资源支持的方法。
    TRACE:让Web服务器端将之前的请求通信环回给客户端。

    HTTP响应报文

    在这里插入图片描述

    HTTP状态码

    1XX:信息性状态码,接收的请求正在处理。
    2XX:成功状态码,请求正常处理完毕。
    3XX:重定向状态码,需要进行附加操作以完成请求。
    4XX:客户端错误状态码,服务器无法处理请求。
    5XX:服务器错误状态码,服务器处理请求出错。

    HTTP常见状态码

    200 OK:表示从客户端发来的请求在服务器端被正常处理了。

    301 MOVED Permanently:永久性重定向,表示请求的资源已被分配了新的URL,以后应使用资源现在所指的URL。

    302 Found:临时性重定向,表示请求的资源已被分配了新的URL,希望用户(本次)能使用新的URL访问。

    304 Not Modified:客户端发送附带的条件请求时,服务器端允许请求访问资源,但为满足条件的情况。304状态码返回时,不包含任何响应的主体成分。

    400 Bad Request:表示请求报文中存在语法错误,当错误发生时,需修改请求的内容后再次发送请求。

    401 Unauthorized:该状态码表示发送的请求需要有通过HTTP认证(BASIC、DIGEST认证)的认证信息。若之前已进行过1次请求,则表示用户认证失败。

    403 Forbidden:表示对请求资源的访问被服务器拒绝了。

    404 Not Found:表示服务器上无法找到请求的资源。

    500 Internal Server Error:表明服务器端在执行请求时发生了错误,也有可能是Web应用存在的bug或某些临时的故障。

    503 Server Unavailable: 表明服务器暂时处于超负荷或者正在进行停机维护,现在无法处理请求。

    HTTP是无状态协议

    在这里插入图片描述

    三,HTTP首部字段

    HTTP首部字段结构

    首部字段名:字段值
    例如,Content-Type:text/html
    单个HTTP首部字段可以有多个值,例如:
    Keep-Alive:timeout=15,max=100

    HTTP首部字段类型

    通用首部字段:请求报文和响应报文两方都会使用的首部。
    在这里插入图片描述在这里插入图片描述

    请求首部字段:从客户端向服务端发送请求报文时使用的首部,补充了请求的俯加内容、客户端信息、响应内容相关优先级等信息。
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

    响应首部字段:从服务端向客户端返回响应报文时使用的首部,补充了响应的附加内容,也会要求客户端附加额外的内容信息。
    在这里插入图片描述

    在这里插入图片描述

    实体首部字段:针对请求报文和响应报文的实体部分使用的首部,补充了资源内容更新时间等与实体有关的信息。

    在这里插入图片描述
    在这里插入图片描述

    四,常考知识点

    在这里插入图片描述

  • 相关阅读:
    部署LVS-DR群集
    redux 持久化(redux-persist) 结合 immutable 使用问题
    Linux系统编程:进程part_2(信号相关)
    Prometheus+Grafana对Mysql实现监控
    ShowLayoutAlias...
    [Linux](7)环境变量
    【读书笔记】《文案变现》——写出有效文案的四个黄金步骤
    新王炸:文生视频Sora模型发布,能否引爆AI芯片热潮
    k8s的etcd启动报错
    ansible一键化部署NFS服务
  • 原文地址:https://blog.csdn.net/m0_62617719/article/details/126094906