当前位置:首页 > 数码 > 恳求能否可以携带恳求正文-HTTP-GET-Go (恳求的可能怎么写)

恳求能否可以携带恳求正文-HTTP-GET-Go (恳求的可能怎么写)

admin4个月前 (05-11)数码19

前段期间遇到一个好友,他跟我说他们在开发一个Go名目时,遇到了一个争议点,说来也好了解。WEBUI端选用GET、POST类型时,程序能否要辨别所传递的值(例如:Body),还是不论是什么类型都传。

一派以为次要,反正都能传。又没限度。

一派以为规范如此,不应该传。应该针对HTTPPOST类型,经常使用POST恳求的body来传递参数。在GET恳求里经常使用URI来启动参数传递。

看着仿佛都有各自的情理,僵持不下。

RFC7231怎样说

要看互联网协定的关系规范,肯定是RFC了。首先看看RFC7231[1]中的4.3.1小节是怎样说的。

如下摘抄:

ApayloadwithinaGETrequestmessagehasnodefinedsemantics;sendingapayloadbodyonaGETrequestmightcausesomeexistingimplementationstorejecttherequest.

大略意思:在GET类型的恳求里经常使用body是一个没有定义的语义。假设在GET恳求的body里传递参数或者会被某些成功方拒绝该恳求。

也就是这个混着传的行为并不合乎RFC规范,至少官网是不介绍不激励这样的经常使用方式。但并没有制止这个行为。

记住这个论断。接上去咱们启动测试。

程序允许水平

咱们起一个HTTPSever用于测试和验证,看看在详细的编程言语的成功中能否可以允许。

如下Go代码:

funchello(whttp.ResponseWriter,req*http.Request){b,_:=io.ReadAll(req.Body)w.Write(b)}funcmn(){http.HandleFunc("/hello_world",hello)http.ListenAndServe(":7001",nil)}

在命令行行动CURL启动测试:

$curl-XGETlocalhost:7001/hello_world-d'煎鱼'煎鱼

看来在Go外面是可以的。

那既然RFC没有制止,Go的测试也反常。看来就是只是行动上的不激励和不介绍吗?

那别的场景也都允许吗?

实践上也不是,例如:XMLHttpRequest规范[2]中有明白提到:

假设恳求方法为GET或HEAD,body参数会被疏忽。

总结

在GET类型里传body参数,从RFC7231规范来定义。官网是不介绍、不激励这么去经常使用的。

但是呢,这是一个没有明白制止的事。

而从各个HTTP成功的客户端来看,一开局还是有不少不允许的。但掰扯了好多年后,大少数都允许了。(毕竟用户的诉求也是很关键的)

甚至印象最深的,ES间接就在GET恳求里传了body:

对应的CURL:

curl-XGET"localhost:9200/my-index-000001/_search?from=40&size=20&pretty"-H'Content-Type:lication/json'-d'{"query":{"term":{"user.id":"kimchy"}}}'

但也有不允许的,例如在Chrome阅读器下测试XMLHttpRequest、Fetch对此都会疏忽或出现报错。

FetchGETbody

论断过去讲,GET恳求能不能传body,这是一个RFC规范不激励。但是成功方大局部都允许的一个状况。

企业和团队外部的话,倡导达成研发规范的共识即可。不过我团体而言,都会辨别开。

参考资料

[1]RFC7231:

[2]XMLHttpRequest规范:


高分恳求歌词!

ooooo yeah yeah yeah ohwooe na na na na na na na na na na na oh na na na na na if i was your man, girl 如果我是你的男人,女孩girl im so tired of things 事情让我如此疲倦i just wanna settle down 我只想安定下来i swear to you ive changed 我向你发誓我已经改过自新baby why you buggin out 宝贝,你为何对我如此生气i know that i put you through hell 我知道我曾让你受尽苦难you deserve to be with someone else 你应当和别人在一起but i gotta be straight up 但我应当坦率straight up 坦率girl i just wanna kiss and make up 我只想亲你和改变we done been through a lot of things 我们经历了很多how do you throw that away 你怎能把这些抛开you were the heart of me 你是我们心脏cant believe youd let it break 不敢相信你会让她碎掉tell me why you wont let em go 靠诉我你不会让这些碎片消失you can say what you want but i know 你什么都可以说,但是我知道baby no more lies 宝贝,不要再说谎了ima keep it real this time 这次要保证让我听到真话help me understand 帮我去理解what im sayin and get through 我说着什么,做到了什么why i cant be your man 为什么我不能做你的男人when id give up the world for you 当我为了你放弃世界girl ill do the best i can 女孩,我会尽全力做好一切love you forever thats what id do 永远爱你,这是我一直做的事if i was your man 如果我是你的男人if i was your man if i was your man got rid of everything that i know was hurting you 去掉一切会伤害你的事my heart, so many strings 我的心脏,那么多的心弦gave that up for you too 为你也一并放弃dont want nothin else in the way 不愿路上有任何阻碍i just wanna make sure that you stay 我只想让你留下baby no more lies 宝贝,不要再说谎话了ima do it right this time 这次我一定会让事情成功help me understand what im sayin and get through why i cant be your man when id give up the world for you girl ill do the best i can love you forever thats what id do if i was your man if i was your man if i was your man cant live without you anymore 没有你我已无法生活baby i know that youre what im fightin for 宝贝,我知道你是我奋斗的原因baby say that youll still be with me 宝贝,请说你会跟我在一起in my arms is where you need to be 我的臂弯是你需要的地方cant live without you anymore 没有你我已无法生存baby i know that youre what im fightin for 宝贝你是我奋斗的原因baby say that youll still be with me 宝贝请说你 会跟我在一起in my arms is where you need to be 我的臂弯是你需要的地方woe na na na na na na na na na na na if i was your man if i was your man help me understand what im sayin and get through why i cant be your man when id give up the world for you girl ill do the best i can love you forever thats what id do if i was your man if i was your man if i was your man

恳求another life中文歌词

GET

声明2点:1.歌词有个别错误,iexcl应该是s 2.我的英语水平有限,翻译不好的地方多谅解,不要笑话我 从不知道生命中会出现什么 想象将爱的礼物给你 今晚我的一天以一个谎言结束 当我回头时,是另一个孤独的夜晚 我祈祷未来的爱情会更美好 每一天我的夜晚仍然难以度过 噢,我希望你知道 啊,这痛在内心 我惊讶当我回头时,它仍然像从前一样 并且仍然难以挽留 我祈祷能看见你的双眼 感觉到你给我的爱 我发誓我在想你 整个晚上我都在哭泣,但我相信祈祷者 我知道总有一天你会没有理由的来到我的身边 我希望我的生命中有你 你去过的地方,从不孤独 一定有什么将要到来,没有其他的方式了 我将给你我无尽的爱 我将为你找到我的方式 紧紧贴住你的心,然后不再让它离去 记住爱,我们都知道总有一天你会明白 噢 我的意思是你是我生命的全部

免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。

标签: Go

“恳求能否可以携带恳求正文-HTTP-GET-Go (恳求的可能怎么写)” 的相关文章

中-Goroutines-成功轻量级并发的高效并发原语-Go

中-Goroutines-成功轻量级并发的高效并发原语-Go

并发是现代软件开发的一个基本概念,使程序能够同时口头多个义务。在Go编程畛域,了解Goroutines是至关关键的。本文将片面概述Goroutines,它们的轻量级特性,如何经常使用go关键字创立...

Templ-编写-Go-用户界面-HTML-如何在-中经常使用 (temple)

Templ-编写-Go-用户界面-HTML-如何在-中经常使用 (temple)

简介 templ[1]是一个在Go中编写用户界面的言语。经常使用templ,咱们可以创立可出现HTML片段的组件,并将它们组合起来创立屏幕、页面、文档或运行程序。 装置 咱们可以...

Go-言语中并发的弱小效劳 (go语言语法很奇怪啊)

Go-言语中并发的弱小效劳 (go语言语法很奇怪啊)

施展效率和照应才干 并发是现代软件开发中的一个基本概念,它使程序能够同时口头多个义务,提高效率和照应才干。在本文中,咱们将讨论并发在现代软件开发中的关键性,并深化了解Go处置并发义务的共同...

Go-内存调配优化-在结构体中充沛应用内存 (go 内存)

Go-内存调配优化-在结构体中充沛应用内存 (go 内存)

在经常使用Golang启动内存调配时,咱们须要遵照一系列规定。在深化了解这些规定之前,咱们须要先了解变量的对齐形式。 Golang的unsafe包中有一个函数Alignof,签名如下: f...

内存优化与渣滓搜集-深化探求优化程序性能的最佳通常-Go (内存优化与渣子有关吗)

内存优化与渣滓搜集-深化探求优化程序性能的最佳通常-Go (内存优化与渣子有关吗)

Go提供了智能化的内存治理机制,但在某些状况下须要更精细的微调从而防止出现OOM失误。本文将讨论Go的渣滓搜集器、运行程序内存优化以及如何防止OOM(Out-Of-Memory)失误。 Go...

的原因-Go-Map-语言不支持并发读写 (的原因英语)

的原因-Go-Map-语言不支持并发读写 (的原因英语)

在Go语言的设计中,为了防止数据竞态,不同于一些其他语言,map并没有提供内置的锁机制。这样设计的目的是为了鼓励开发者使用更加精细的同步措施,以适应不同的并发场景。 Map的数据结构...

内存效率-多用途-语言中使用切片代替数组的优点-动态大小-Go (内存使用效率)

内存效率-多用途-语言中使用切片代替数组的优点-动态大小-Go (内存使用效率)

引言 在 Go 语言中,数组是一种固定长度的数据结构,而切片则是一种可变长度的数据结构。虽然数组和切片都可以存储相同类型的数据元素,但切片在使用上有其独到的优势,本文将通过介绍切片的特性来解释为...

并非你构想得那么便捷-Go中的switch的六种用法 (并非你构想得到的成语)

并非你构想得那么便捷-Go中的switch的六种用法 (并非你构想得到的成语)

Go以其繁复而著称,但并不是每团体都相熟这种言语中switch语句的多样性。首先,假设你对Go的switch语句还不相熟,它或许与其余言语相比有些不同。 上方是一个便捷的示例来展现它是什么...