• 9.HTTP协议


    通信有三要素,分别是通信的主体(通信的双方是谁),通信的内容,通信的方式(打电话,写信这种)|

    通信协议是通信双方完成通信所必须遵守的规则和约定

    网页内容叫做超文本(HyperText),网页内容的传输协议叫做超文本传输协议(HyperText Transfer Protocol),这四个大写字母合起来是超文本传输协议的简称HTTP

    HTTP协议采用了 请求/响应 的交互模型。客户端给服务端发HTTP请求,服务端给客户端发HTTP响应。

    关于HTTP的详细信息可以查阅文档 HTTP | MDN

    目录

    1  HTTP请求消息

    1.1  请求行

    1.2  请求头

    1.3  空行

    1.4  请求体

    2  HTTP响应消息

    2.1  状态行

    2.2  响应头

    2.3  空行

    2.4  响应体

    3  HTTP请求方法

    4  HTTP响应状态码


    1  HTTP请求消息

    客户端发送到服务器的消息叫做HTTP请求消息(也叫HTTP请求报文)

    HTTP请求消息由 请求行(request line)、请求头部(header)、空行和请求体 4个部分组成

    1.1  请求行

    请求行由 请求方式、URL和HTTP协议版本 3个部分组成,他们之间使用空格隔开

    发起请求后点击Network,找到请求的内容,找到Request Headers,之后点击View source

    就可以看到请求行了

    post也是这三部分构成,你可以搞一个按钮,按钮绑上发POST请求的方法,点一下就能看见POST请求的状况了

    1.2  请求头

    请求头用于描述客户端的基本信息,比如

    • User-Agent 当前用的是什么类型的浏览器
    • Content-Type 发送到服务器的数据格式
    • Accept 客户端能够接收什么类型的返回内容
    • Accept-Language 客户端期望接收那种人类语言的文本内容(英语汉语这种)

    请求头由多行键值对组成,每一个键值对都独占一行

    视频中提供了一些常用的请求字段信息

    在浏览器中可以直接看到Request Headers,除了请求行外剩下的是请求头

    1.3  空行

    最后一个请求头字段的后面是一个空行,通知服务器请求头部至此结束。

    空行用于分割请求头部和请求体

    1.4  请求体

    请求体中存放的是POST方式提交到服务器的数据,Request Headers下面的Form Data就是请求体

    只有POST请求有请求体,GET请求没有请求体

    点击view source可以查看原始的请求体

    2  HTTP响应消息

    响应消息是服务器响应给客户端的消息内容,也叫响应报文

    HTTP响应消息由状态行、响应头部、空行、响应体 4个部分组成

    2.1  状态行

    状态行由 HTTP协议版本、状态码、状态码描述文本 3个部分组成,他们之间用空格隔开

    在Response Headers中的第一行可以看到状态行(默认情况下需要点击view source才能看到)

    2.2  响应头

    响应头用来描述服务器的基本信息,由多行键值对组成,在Response Headers中,除了状态行,其余的都是响应头

    2.3  空行

    分隔响应头部与响应体

    2.4  响应体

    上面的所有信息都在Headers中,在Response中我们可以看到响应体

    3  HTTP请求方法

    4  HTTP响应状态码

    响应状态码表示响应的状态,由三个十进制数字组成,第一个数字表示响应状态属于哪个大类,后面两个数字细分具体情况

    下面再记录几个常用的

  • 相关阅读:
    欧洲版“OpenAI”——Mistral 举办的 AI 大模型马拉松
    Shell脚本-awk运用
    AQS之ReentrantLock特性和源码分析及CAS和LockSupport的核心原理
    hive中使用iceberg表格式时锁表总结
    CMake aux_source_directory 学习
    Flutter高仿微信-第51篇-群聊-修改群名
    python 读取文件, 转化为 json 格式, 获取 json 中某个属性的值
    find 与 cp 命令组合使用
    R 语言中的 pnorm 方法与 Python scipy 的 norm.cdf、norm.sf 等价
    【浅学Linux】动态库与静态库的封装与使用
  • 原文地址:https://blog.csdn.net/potato123232/article/details/128148451