首页 > 其他分享 >HTTP中的Get和Post请求到底有什么区别?

HTTP中的Get和Post请求到底有什么区别?

时间:2023-08-21 09:56:08浏览次数:36  
标签:Get HTTP 请求 GET URL get Post

一、HTTP中的Get和Post请求到底有什么区别?
1.HTTP诞生,是为了解决浏览器与服务器之间的通讯协议,GET用于读取资源,POST用于提交表单。 2.后来被扩充到接口格式的定义,GET和Post作为接口的请求方式。
二、协议核心四部分: Method: get/post Url:Url Header:{} Body:{}   重点1:从接口定义的角度去看,纯粹只是请求方式的差异,协议本身并没有针对两者做过多的限制。 之所以会出现get请求参数放url,post请求参数放body,是因为前后端在开发中,为了避免增加沟通成本而采取的请求规范, 例如Restful接口规范的诞生
重点2:我们偶尔会听到GET请求长度有上线,POST传输无上限? 其实并不是! 由于约定俗成,get的参数放在url中,而url长度本身受不同浏览器或服务端的限制,会稍微有些长度差异。 IE: 2048个字符 Chrome: 2M 其他浏览器也有差异,但一般比IE大。
为什么会有这个限制呢? 原因是服务端解析一个字符串时,需要分配内存,而URL必须作为一个整体去看待,没有办法分块处理,所以必须要预留一个足够大的内存, 因此各端对URL长度做了不同程度的限制,这才是GET请求有上线的底层原因。
重点3:关于安全? Post并没有比GET请求安全。 只是由于约定俗成,get请求会只管的在URL上看到密码,post打开控制台一样能看到。 HTTP本身就是不安全的协议,请求在任何节点被劫持,都是透明的。
真的要做到安全,必须双端加密,网络上只能截取包,不能截取内容,如https  

标签:Get,HTTP,请求,GET,URL,get,Post
From: https://www.cnblogs.com/mamaguai/p/17645204.html

相关文章

  • C# .NET 使用HttpClient,以及自定义Header中存在特殊字符的处理方式
    平常我们在使用HttpClient时,只需要创建加上设置调用接口地址就可以使用了,比如:HttpClienthttpClient=httpClientFactory.CreateClient();httpClient.BaseAddress=newUri(接口地址);httpClient.PostAsync(接口方法,HttpContent);但是,在自定义Header......
  • https简介
    HTTPS(全称:HyperTextTransferProtocolSecure)是超文本传输协议的安全版本。它用于在计算机网络上传输网页,特别是世界范围网上的网页。与HTTP相比,HTTPS的主要优势是,它通过使用加密协议(例如SSL/TLS)对数据进行加密,从而提供了一个安全的通道来保护用户的数据免受窃听、篡改和消息......
  • Java踩坑3.org.gradle.api.tasks.sourceset.getcompiloconfigurationname
    idea2018自带gradle版本4.1我改properties文件为7.5启动项目,sync时报错,如标题。解决步骤:1.我尝试更改jdk9和11都一样报错。2.我尝试改properties文件为6.4不报错。3.我仍然使用properties文件为7.5,不理会build窗口的这个错误。在右侧的gradle插件build,clean这些正常使用。......
  • 接口测试工具-Postman使用详解
    ✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。......
  • 软件测试|测试平台开发-Flask 入门:Flask HTTP请求详解
    简介上一篇文章我们介绍了flask的基本使用,编写了flask的第一个脚本。在本文中,我们将详细介绍如何使用Flask进行HTTP请求。我们将学习如何创建Flask应用程序,并通过不同的HTTP方法(GET、POST、PUT、DELETE等)发送请求。app.route()要使用不同的http方法发送请求,我们要先了解flask是如何......
  • 8-20|https://gitlab.xx.com/api/v4/projects/4/trigger/pipeline Request failed 状
    当你使用GitLabAPI并收到状态码400,这通常意味着你发送的请求是“坏的”或格式不正确。以下是一些建议,帮助你解决问题:1.**验证请求正文**:确保你提供的请求正文(如果有的话)是正确的并符合API的预期格式。对于触发管道的API,你可能需要提供有关分支、变量等的信息。2.**检查URL*......
  • 请大家支持博客园,购买VIP会员,https://cnblogs.vip
    很多认识我的朋友都是读到我的文章而来的,博客园是国内最早的技术博客平台,近二十年来始终如一地保持本色,不忘初心,为广大的技术爱好者经营着一块相对干净的田地。我也是最早的一批博主之一吧,在那个物资还没有很丰富,相对单纯的年代,天南地北的朋友们,以文会友,追一些大牛的系列文章跟......
  • python+playwright 学习-75 playwright 通过浏览器发送post请求
    前言page.goto()可以通过浏览器直接发get请求,playwright也可以支持通过浏览器发送post请求。page.goto()使用page.goto()访问网站的时候,实际上是有返回值的,可以获取到response对象fromplaywright.sync_apiimportsync_playwright,expectwithsync_playwright()asp:......
  • DsReplicaGetInfo() failed with status 8453 (0x2105): Replication access was d
    Whenusingthe repadmin/showrepl commandtocheckreplicationhealthstatusonyourWindowsdomainenvironmentincommandpromptonSindowsServerendofresultyoumayseethefollowingerrormessage:DsReplicaGetInfo()failedwithstatus8453(0x2105):......
  • QT设置widget背景图片
    首先说方法,在给widget或者frame或者其他任何类型的控件添加背景图时,在样式表中加入如下代码,指定某个控件,设置其背景。类名#控件名{填充方式:图片路径}例如:QWidget#Widget{border-image:url(:/resource/bg2.png);}或者QFrmae#frame{border-image:url(:/resou......