常见的http请求参数和响应参数,前后端交互参数说明

时间:2024-10-21 08:19:34

概念:Hyper Text Transfer Protocol 超文本传输协议
传输协议:定义了客户端和服务器端通信时,发送数据的格式。
特点:

  1. 基于TCP/IP的高级协议
  2. 默认端口号:80
  3. 基于请求/响应模型的:一次请求对应一次响应
  4. 无状态的:每次请求之间相互独立,不能交互数据

    文章目录

      • 公共头部(General)
        • 参数说明
          • Request Method
          • Status Code
          • Remote Address
          • Referrer Policy
          • Request URL
        • 常见请求方式(Request Method)
          • GET(一般用于查询)
          • POST(一般用于提交表单新增/更新)
          • DELETE(一般用于删除)
          • PUT(一般用于更新)
          • HEAD(类似GET)
        • 常见的响应状态码(Status Code)
      • 请求头(Request Headers)
        • 常见的请求头参数
          • User-Agent
          • Referer
          • Host
          • Accept
          • Accept-Language
          • Accept-Charset
          • Accept-Encoding
          • Connection
          • Cookie
          • Authorization
      • 响应头(Response Headers)
        • 常见的响应头参数
          • Access-Control-Allow-Origin
          • Accept-Ranges
          • Connection
          • Content-Encoding
          • Content-Language
          • Content-Type
          • Date
          • Expires
          • Set-Cookie
          • Server
      • 其他参数
        • Headers同级相关
          • Payload
          • Preview/Response
          • Timing

    完整的http请求图示:
    在这里插入图片描述

公共头部(General)

参数说明

Request Method

页面请求的方式,如:POST/GET

Status Code

请求的返回状态,如:200 OK

Remote Address

请求的远程地址 HTTP协议在三次握手时使用的就是这个Remote Address地址,默认具有防篡改的功能

Referrer Policy

请求头中Referrer的策略

Request URL

请求的url地址

常见请求方式(Request Method)

GET(一般用于查询)

请求指定页面的信息,并返回实体主体。

  1. GET请求将请求参数包含在url中,例如:/so/search?q=Java&t=blog&u=qq_35427589
  • ? 之前的内容是请求文件的地址
  • q、t和u是请求参数,&是参数之间的分隔符
  1. GET请求是可以缓存的,我们可以从浏览器历史记录中查找到GET请求,还可以把它收藏到书签中;
  2. 且GET请求有长度限制,仅用于请求数据(不修改);
  3. 只能通过url进行编码;
  4. 不安全,不能用来传递敏感信息。
POST(一般用于提交表单新增/更新)

用于将数据发送到服务器以创建或更新资源。

  1. POST请求将请求参数保存在request body中,利用.参数名来获取post方式请求的参数
  2. POST请求永远不会被缓存,且对数据长度没有限制;
  3. 我们无法从浏览器历史记录中查找到POST请求;
  4. 支持多种编码格式;
  5. 更安全,适合传递敏感信息。
DELETE(一般用于删除)

用来删除指定的资源,它会删除目标资源的所有当前内容。(用于删除)

PUT(一般用于更新)

用于将数据发送到服务器以创建或更新资源,它可以用上传的内容替换目标资源中的所有当前内容。(用于更新)

HEAD(类似GET)

与GET方法相同,但没有响应体,仅传输状态行和标题部分。这对于恢复相应头部编写的元数据非常有用,而无需传输整个内容。

常见的响应状态码(Status Code)

状态码都是3位数字
分类:
1xx:服务器就收客户端消息,但没有接受完成,等待一段时间后,发送1xx多状态码
2xx:成功。代表:200
3xx:重定向。代表:302(重定向),304(访问缓存)
4xx:客户端错误。
代表:
404:请求路径没有对应的资源
405:请求方式没有对应的方法
5xx:服务器端错误。代表:500(服务器内部出现异常)

请求头(Request Headers)

常见的请求头参数

User-Agent

浏览器告诉服务器,当前访问使用的浏览器版本信息,可以在服务器端获取该头的信息,解决浏览器的兼容性问题。

Referer

表明当前这个请求是从哪个url过来的。这个一般也可以用来做反爬虫技术。如果不是从指定页面过来的,那么就不做相关的响应。

Host

请求域名/请求的主机和端口

Accept

可接受的相应内容类型(Content-Type);如: application/json, text/plain, /

Accept-Language

可接受响应内容的语言列表;如:zh-CN,zh;q=0.9

Accept-Charset

可接受的字符集;

Accept-Encoding

可接受的响应内容的编码方式;

Connection

浏览器有限使用的连接类型,如:keep-alive

Cookie

储存在用户本地终端上的数据,一般用来辨别用户身份。

Authorization

授权信息。

响应头(Response Headers)

常见的响应头参数

Access-Control-Allow-Origin

指定哪些网站可以跨域源资源共享

Accept-Ranges

服务器所支持的内容范围

Connection

服务器通过这个头,响应完是保持链接还是关闭链接
Content-Disposition:对已知MIME类型资源的描述,浏览器可以根据这个响应头决定是对返回资源的动作,如:将其下载或是打开。

Content-Encoding

响应资源所使用的编码类型。

Content-Language

响应内容所使用的语言。

Content-Type

告诉客户端,资源文件的类型,如:application/jsonapplication/jsonapplication/json

Date

此条消息被发送时的日期和时间(以RFC 7231中定义的"HTTP日期"格式来表示)

Expires

指定一个日期/时间,超过该时间则认为此回应已经过期

Set-Cookie

设置HTTP cookie

Server

服务器的名称

其他参数

Headers同级相关

Payload

请求相关参数信息。

Preview/Response

响应相关参数信息。

Timing

请求和响应相关耗时情况统计。