HTTP 请求方法有 9 种,分别是

序号 方法 描述
1 GET 请求指定的页面信息,并返回实体主体。
2 HEAD 类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头
3 POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和 / 或已有资源的修改。
4 PUT 从客户端向服务器传送的数据取代指定的文档的内容。
5 DELETE 请求服务器删除指定的页面。
6 CONNECT HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。
7 OPTIONS 允许客户端查看服务器的性能。
8 TRACE 回显服务器收到的请求,主要用于测试或诊断。
9 PATCH 是对 PUT 方法的补充,用来对已知资源进行局部更新 。
最常用的还是 GET , POST

HTTP 的组成部分
我们知道,http 是一个通信协议,啥叫通信协议,通信嘛,就是两个人要沟通,协议嘛,就是怎么沟通

比如我说 A,你知道我饿了想吃东西了,我再说 A 米饭, 你就知道我饿了,并且想吃米饭了。

对的,协议就是双方提前商量好的沟通的内容的格式

HTTP 通信协议就是 HTTP客户端和 HTTP服务端 双方规定好的格式

那么这个 HTTP 消息,有哪几部分组成呢

很简单,HTTP 消息包含两部分

请求头
请求体
比如我们在浏览器中发一个请求 www.helloworld.net 回车,此时我们发的是 GET 请求

那么请求头是:

GET / HTTP/2
Host: www.helloworld.net
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,/;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Cookie: Hm_lvt_c7e77fd22dddf4a169b8d6f4807c5a4c=1668406379; Hm_lpvt_c7e77fd22dddf4a169b8d6f4807c5a4c=1668406379
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
If-None-Match: “d696-1nnZwKI6/LZalqvEzQx9IFil/tw”
TE: trailers
注意: HTTP 的 GET 请求,是没有请求体的,这也就是为什么有些公司统一封装请求为 POST, 而不是 GET 的原因了

因为 POST 是有请求体的,可以带大量的数据,GET 因为没有请求体,携带参数只能放在 URL 中,能带的数据量是比较少的。

GET 请求方法
GET 访求方法最常用,也是最简单的一种,像其语义一样,GET 就是获取文件的意思

所以 GET 请求就是获取服务器上的某个资源 ,使用也很简单,我们记住下面两点就行了

GET 传参数只能在 url 后面带上参数,比如 http://www.helloworld.net?name=tom&age=23
​ 服务器收到请求就可以解析出来 url 后面带的参数了,name = tom , age = 23

还有一点,很少有人说,就是上面我们说的,GET 请求是没有请求体的
下面我们重点看一下 POST 请求

POST 请求方法
POST 是提交的意思,如果我们需要向服务器提交一些数据,就可以使用 POST 方法

虽然 POST 是提交的意思,协议规定的也是用 POST 提交数据,但是现在很多公司并没有这样搞

查询也会用 POST,其实它只是个单词,服务端收到 请求后,是查询资源,还是删除资源,还是提交

都可以的,只是看你们公司前后端怎么规定即可。

下面我们看看 POST 有哪几种提交数据的方式

第一种 application/x-www-form-urlencoded
这也是 POST 默认的一种方式 ,对应的请求头中的 Content-Type 为 application/x-www-form-urlencoded

我们从浏览器中抓取 www.helloworld.net 上的几个请求方式,为例,如下

请求头

POST /v1/special/getSpecialCateList HTTP/2
Host: tiger-api.helloworld.net
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0
Accept: application/json, text/plain, /
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded
Authorization:
token:
ts: 1668407094
sign: d41d8cd98f00b204e9800998ecf8427e
deviceType: pc
Origin: https://www.helloworld.net
Connection: keep-alive
Referer: https://www.helloworld.net/
Cookie: Hm_lvt_c7e77fd22dddf4a169b8d6f4807c5a4c=1668406379; Hm_lpvt_c7e77fd22dddf4a169b8d6f4807c5a4c=1668406398
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-site
Content-Length: 0

请求体

action=10&pageNum=1&pageSize=10&uuid=15139897
此种方式,一般是提交 key, value 的值。

HTTP 提交方式有哪些相关推荐

  1. 关于get和post两种提交方式

    Get请求: 1.可携带的数据量小 2.只能存放字符串类型的数据,不能存放bean对象 3.安全性差,例如如果在登录上使用get请求,在地址栏中会显 示输入的username和password 4.客 ...

  2. Python Flask-表单提交方式

    这篇文章讲两种表单提交方式,先说一下目录树,下图左侧 templates文件夹放置html文件, static文件夹放置css,js文件. 1.请求上下文 首先在templates文件夹新建一个log ...

  3. 关于Ajax的type为post提交方式出现请求失效问题

    最近碰到这样一个问题,原本一个ajax异步提交数据之前是很好的,很多系统都延用了均未出现任何问题.最近这个版本却出现ajax方式post数据不到后台程序,让我折腾了好几天.起初的ajax是这样写的: ...

  4. 解决jsp两种提交方式乱码 的方法

    解决中文乱码 ---post提交方式  需要在处理页面添加request.setCharacterEncoding("utf-8"); 制定请求的编码,调用一下request.ge ...

  5. python表单提交的两种方式_Flask框架学习笔记之表单基础介绍与表单提交方式

    本文实例讲述了Flask框架学习笔记之表单基础介绍与表单提交方式.分享给大家供大家参考,具体如下: 表单介绍 表单是HTML页面中负责数据采集功能的部件.由表单标签,表单域和表单按钮组成.通过表单,将 ...

  6. java contenttype_POST不同提交方式对应的Content-Type,及java服务器接收参数方式

    简介: Content-Type(MediaType),即是Internet Media Type,互联网媒体类型:也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请 ...

  7. ajax登录验证的原理,ajax用户登录验证-get和post提交方式,与工作原理—2018-8-15...

    ajax用户登录验证: 实例 html> Ajax实战:表单验证 用户登录 邮箱: 密码: 提交 let btn = document.getElementsByTagName('button' ...

  8. Extjs中三种不同的数据提交方式

    Extjs中三种不同的数据提交方式 Extjs的三种提交方式: 表单Ajax提交,普通提交,单独Ajax提交: 1.表单ajax提交(默认提交方式) 提交函数:当按下表单中的提交按钮时执行下面的btn ...

  9. jsp内置对象的提交方式

    get与post对象 提交的表单的格式为: <form name="表单名称" action="动作" method="提交方式"&g ...

  10. centos7.6查看什么进程跑的流量_Spark的提交方式有哪些?有什么区别?

    spark的提交方式总体来说有两种,分别是standalone模式和yarn模式. 这两种模式又分别有两种提交方式,分别是: standalone下的client提交方式.(客户端提交) standa ...

最新文章

  1. 1080Ti 就搞定最新 SOTA 模型?一个普通研究生勇敢发毕业论文引起热议
  2. 激光雷达选型指南 这2项重要指标却被很多人忽略
  3. python发明者叫什么-Guido发明的python语言是哪一年正式发布的?
  4. 带你深入探究云原生时代的分布式操作系统 Kubernetes
  5. 永恒python地速_立竿见影地把你的 Python 代码提速7倍
  6. 计算机出现蓝屏怎么解决,电脑出现蓝屏故障0x00000019怎么办?
  7. Redis配置文件常用配置消息解说--版本5.0.9
  8. MiniDao_1.6.4 版本发布,轻量级Java持久化框架,Hibernate项目辅助利器
  9. 微信小程序相关项目实例集合
  10. 苹果叒要开发布会了!多款新机曝光,Intel不淡定了
  11. C# xsd转C#类(转)
  12. 最好的 Windows C++ 编译器!
  13. thzthz.net forum.php,xthz画质修改器
  14. android 6.0 ndk版本,[推荐]android-ndk6.0翻译(1)
  15. Guitar Pro8(简称GTP8)正式版吉他谱神器
  16. 常见通信RF指标的内在和意义
  17. 023_fireshot
  18. 阿里云商标注册入口/查询/买卖/分类表/撤三/续展/驳回复审入口汇总一键直达
  19. 2022华为机试真题 C++ 实现【事件推送】
  20. 微信小程序 live-player 无声音

热门文章

  1. 在windows配置Apache httpd代理服务器
  2. 打印机CCC认证费用、周期
  3. 【poj1013】 Counterfeit Dollar
  4. 书籍勘误表整理(2019.5.7)
  5. 多模态学习(一) 初识
  6. Involution
  7. 高德地图的路线规划 简易版
  8. 关于AntMotion动画使用
  9. 设计模式01-设计模式中的七大原则
  10. 玩玩python之两个猥琐的爬虫