实际上,GET请求不带body是HTTP标准的一部分,但在某些场景下,为了遵循RESTful规范,可以考虑通过服务端转发或BFF模式来实现复杂的参数传递。 最近跟同事讨论,就遇到这个很有趣的话题,直接说结论,浏览器中不能,nodeJS中可以,即客户端不可以,服务端可以。 浏览器环境 现在常用的请求方式分为俩种: axios axios分俩种,...
可以看到像delete、get、head、options方法,它们只接收两个参数,不过在config中有一个data 熟悉的post请求,它接收的第二个参数data就是放在body的,然后一起作为给this.request作为参数 所以看样子get请求应该可以在第二个参数添加data属性,它会等同于post请求的data参数 顺着源码,再看看lib/adapters/xhr.js,上面的this...
在标准协议中, GET 请求是可以携带 Body 数据的, 这些数据是否被处理, 全看 接收端(后端) 的行为。大多数情况下, 大家都选择放弃。 例如 而gin-gonic/gin框架在处理 GET 请求的时候, 就选择忽略了 Body 数据。 gin 在选择默认解释器的时候, 发现如果是 GET 请求, 无论Content-Type是什么, 都是使用 表单 ...
由于postman和apifox的实现是不遵循WHATWG标准的,所以在这些工具中测试GET请求可以把数据放到body里。 但是对于前端开发(浏览器环境)来说,GET请求是不能把数据放到body里的。 根据实际需求,可以考虑把参数拼接到url上,或者如果坚持将数据携带在body中,可以考虑使用POST方法。
根据HTTP协议的规范,GET请求不应该带有请求体。请求体主要用于向服务器发送数据,例如表单数据或JSON数据。然而,有些特殊情况下,我们可能需要在GET请求中发送一些数据,例如,当我们需要向服务器发送大量数据时,将其放在URL中可能会导致URL过长,不方便管理。因此,一些Web服务器支持使用带有Body的GET请求。
以下是使用mermaid语法绘制的序列图,展示了GET请求获取请求体的过程。 ServerClientServerClientGET /api?param1=value1¶m2=value2200 OKResponse Body 在上面的序列图中,Client表示客户端,Server表示服务器。图中显示了客户端发送GET请求,并在URL中包含请求体的过程。服务器返回200 OK响应,并附带响应体。
GET 请求一般不携带消息体 (Body),因为 GET 请求是用来从服务器检索数据的,而不是向服务器发送数据。 但是,HTTP/1.1 规范中确实提到了可以通过 GET 请求携带消息体的可能性,尽管这并不常见。在这种情况下,消息体通常包含查询参数或路径变量。 如果你想通过 GET 请求发送数据,一种常见的做法是将数据编码为查询参...
在网上可以经常看到关于 HTTP GET 请求能不能带 body 的讨论。有的人认为 GET 请求可以带 body,有的认为 GET 请求不能带 body,还有些人认为可以带但最好不带。大家各执己见,谁都没有 100% 说服谁。 我个人在工作中从来没有见哪个同事用 HTTP GET 请求的 body 携带数据。写了两年爬虫,经常抓包分析目标网...