HTTP中get和post请求方式

这篇具有很好参考价值的文章主要介绍了HTTP中get和post请求方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

#get和post特点

get请求:请求参数在请求地址后面,提交的数据量较小,安全性较差,不建议用来提交敏感信息(地址栏中会显示,并且有可能被保存请求地址)。

  • 功能:GET 方法用于获取由 Request-URI 所标识的资源的信息

  • 默认方法:GET方法是默认的HTTP请求方法,例如当我们通过在浏览器的地址栏中直接输入网址的方式去访问网页的时候,浏览器采用的就是 GET 方法向服务器获取资源。

  • 使用GET方法来提交表单数据存在的问题?

    • GET方法提交的表单数据只经过了简单的编码,存在着安全隐患
    • 提交的数据量不能太,这是因为浏览器对URL的长度有限制,而提交的数据是作为URL请求的一部分
    • 该方法的响应是可缓存的
  • 请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的

  • GET 请求可被缓存:chrome下和firefox下如果检测到get请求的是静态资源,则会缓存如果是数据,则不缓存,但是IE这个傻X啥都会缓存起来

  • GET 请求保留在浏览器历史记录中

  • GET 请求可被收藏为书签

  • GET 请求不应在处理敏感数据时使用

  • GET 请求有长度限制 ,大多数浏览器通常都会限制url长度在2K个字节

  • GET 请求只应当用于取回数据

  • 只接受ASCII字符的参数的数据类型

  • get效率高

post请求:请求参数放在请求体中提交,提高的数据量大小没有限制,敏感信息相对安全。

功能:GET方法的一个替代方法,它主要是向Web服务器提交表单数据尤其是大批量的数据,克服了GET方法中的信息无法保密数据量太小的缺点。该方法的响应是不可缓存的,除非响应里有合适的Cache-Control或者Expires头域。

  • 功能:GET方法的一个替代方法,它主要是向Web服务器提交表单数据尤其是大批量的数据,克服了GET方法中的信息无法保密数据量太小的缺点。该方法的响应是不可缓存的,除非响应里有合适的Cache-Control或者Expires头域。
  • 查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的
  • POST 请求不会被缓存
  • POST 请求不会保留在浏览器历史记录中
  • POST 不能被收藏为书签
  • POST 请求对数据长度没有要求
  • POST支持多种编码方式
  • post请求包含更多的请求头
  • post不能进行管道化传输

# get 请求过程和post 请求过程

get:

  • 浏览器请求tcp连接(第一次握手)
  • 服务器答应进行tcp连接(第二次握手)
  • 浏览器确认,并发送get请求头和数据(第三次握手,这个报文比较小,所以http会在此时进行第一次数据发送
  • 服务器返回200响应成功

post:

  • 浏览器请求tcp连接(第一次握手)
  • 服务器答应进行tcp连接(第二次握手)
  • 浏览器确认,并发送post请求头(第三次握手,这个报文比较小,所以http会在此时进行第一次数据发送
  • 服务器返回100 continue响应
  • 浏览器开始发送数据
  • 服务器返回200响应成功

#两者区别

GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。

1、GET参数通过URL传递,POST放在Request body中。

2、GET请求会被浏览器主动cache,而POST不会,除非手动设置。

3、GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

4、GET请求只能进行url编码,而POST支持多种编码方式。

5、POST请求的安全性比GET请求的安全性高,因为GET请求的参数是不加密,明文传输的,且会直接显示到浏览器的浏览框上;POST请求的数据则是可加密的,也不会显示到浏览器的浏览框上。

6、GET请求中有非 ASCII 字符,会在请求之前进行转码,POST不用,因为POST在Request body中,通过 MIME,也就可以传输非 ASCII 字符。

7、并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。

#为什么get比post效率高

最重要原因: post在真正接受数据之前会先将请求头发送给服务器进行确认,然后才真正发送数据。

#其他请求方法

1. HEAD
HEAD与GET方法一样,都是向服务器请求资源,但是不会返回响应体。这样,我们可以不传输全部内容的情况下,就可以获取服务器的响应头信息。常用于客户端查看服务器的性能。

2. PUT
若请求的URI是已经存在的资源,则put请求所附属的实体应被当做修改服务器中的资源,成功的话返回200或204。若请求的URI资源不存在,则URI可以被定义成新的资源,这是,服务器必须通过201(建立)响应通知用户。【PUT用于增加资源信息】

3. DELETE
请求服务器删除所请求的URI所标识的资源。【DELETE用于删除资源信息】

4. OPTIONS
返回该资源所支持的所有HTTP请求方法。

5. TRACE
6. 回显服务器收到的请求,用于测试和诊断。文章来源地址https://www.toymoban.com/news/detail-858183.html

到了这里,关于HTTP中get和post请求方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • http之GET请求和POST请求的传递参数的方式

    get: 情况1:接口正常返回 code,data,message ,且无需传递参数 (vu3) 情况2: 需要将参数拼接到url地址上 (vue3)   情况3 需要传递参数,query 传参 (vue3) 情况4 既有query传参也有path传参 post 情况1 接口返回的数据没有使用data包裹,这种情况一般取不到数据,我们需要用 ext

    2024年02月16日
    浏览(38)
  • Qt Http请求,post和get的两种方式

    今天我们介绍一下QT的http请求,这里有post和get两种方式 一、post请求方式:参数分为网址和具体请求值两个部分,有时候还需要设置头信息,看具体情况定 二、get请求方式:参数和网址拼接到一起请求 三、主要区别: get用于请求获取数据,post向指定的资源创建修改数据 g

    2024年02月15日
    浏览(46)
  • java业务代码发送http请求(Post方式:请求参数为JSON格式;Get方式)

    实际开发中,可能需要发送http请求到第三方服务获取数据,于是就有以下应用: 依赖: 假设我需要在我的业务代码中调用该地址: url:http://xx.xx:xxxx/user/count 请求方法:post 内容类型:application/json 请求参数:id, username 返回参数:code 响应结果 int类型                  

    2024年02月12日
    浏览(55)
  • HTTP协议 GET和POST区别 请求响应 Fiddler postman ajax

    💖 欢迎来阅读子豪的博客( JavaEE篇 🤴) 👉 有宝贵的意见或建议可以在留言区 留言 💻 欢迎 素质三连 点赞 关注 收藏 🧑‍🚀码云仓库:补集王子的代码仓库 不要偷走我小火车哦~ ~ ~ HTTP (全称为 “超文本传输协议”) 是一种应用非常广泛的 应用层协议. HTTP 诞生与1991年

    2023年04月27日
    浏览(47)
  • http请求和响应格式说明,http的get和post请求方式说明,http的请求体body的几种数据格式

    一个HTTP请求报文由 请求行(request line)、请求头部(header)、空行和请求数据 4个部分组成, 请求报文的一般格式 1、第一行必须是一个请求行(request-line),用来说明请求类型,要访问的资源以及所使用的HTTP版本 2、紧接着是一个请求头(header),用来说明服务器要使用的附加信息

    2024年02月02日
    浏览(51)
  • (一)python发送HTTP 请求的两种方式(get和post )

    注:发送请求(包括请求行、方法类型、头、体) 常见的请求方式有get、post、put、delete            格式:requests.get() (内容: url必填; params选填:url参数字典) # ~ 无参数的get请求 # ~ 有参数的get请求 # ~ 使用params的get请求        知识扩展#  requests.post() post请求分为5种,常用

    2024年02月02日
    浏览(65)
  • Powershell脚本自动化登录网站的简单实例,命令行方式实现Http(s)的GET、POST请求

    自动化登录网站的流程比较简单,如果不懂 Python、JavaScript、C++ 等编程语言,又没有安装这些编程语言环境软件,我们还要新的点子:用Windows系统自带的 Powershell 运行自编的脚本来实现。 PowerShell 是一种功能强大的自动化工具,除了可以使用 DOS 批处理命令之外,还可以进行

    2024年02月10日
    浏览(49)
  • tomcat(跟着宝哥学java:tomcat)tomcat安装 发布项目 配置eclipse http协议详解、get请求、post请求、url详解

    在%CATALINA_HOME%webapps下创建一个文件夹:hehe 在hehe中创建子文件夹:WEB-INF和资源文件夹(html/jsp/css/imgs/js) 在WEB-INF中创建子文件夹classes::存储java源文件生成的字节码文件 在WEB-INF中创建子文件夹lib::存储项目以来的jar 在WEB-INF中创建子web项目的核心配置文件:web.xml web

    2024年02月03日
    浏览(37)
  • C语言通过IXMLHTTPRequest以get或post方式发送http请求获取服务器文本或xml数据

    做过网页设计的人应该都知道ajax。 Ajax即Asynchronous Javascript And XML(异步的JavaScript和XML)。使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变的信息。 在IE浏览器中,Ajax技术就是

    2024年01月25日
    浏览(52)
  • HTTP请求:GET/POST请求

    GET  用于:地址栏请求  通过url请求 POST 用于:表单请求 DELETE 用于删除 PUT 用于更新 GET的请求直接嵌入在路径中URL是完整的请求路径,包括了 ?后面的部分,因此你可以手动解析后面的内容作为GET请求的参数 node.js是UEL模块中的parse函数提供了这个功能。 util是node.js常用工具

    2024年02月16日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包