Get请求和Post请求的区别

举报
辰兮 发表于 2022/03/22 22:44:45 2022/03/22
【摘要】 今天从以下五个角度分析 来自爱写思维导图的辰兮同学 1)请求形式 ①Get举例子来说吧: url : “http://www.imooc.com?a=1&b=2&c=3” ...

今天从以下五个角度分析在这里插入图片描述

来自爱写思维导图的辰兮同学


1)请求形式在这里插入图片描述


①Get举例子来说吧:

  • url : “http://www.imooc.com?a=1&b=2&c=3”
    这个地址,问号之后的称为参数。我们可以看出:有3个参数,a,b,c.它们的值分别是1,2,3你已经想到了,&就是“和”的意思。我们不经常也这么说:“我&你”
  • 参数是传给后台取值的,?是解析的时候开始点,&是连接参数的符号
  • 总结:URL结构:协议://域名 or IP地址:端口号/目录/文件名.文件名后缀?参数=值

②Post请求

  • Post请求包含两部分:请求头(header)和请求体(body)。
  • 详细具体可查 post如何传输数据.

2)传输数据的大小

①GET请求:

  • 在HTTP规范中,没有对URL的长度和传输的数据大小进行限制。但是在实际开发过程中,对于GET,特定的浏览器和服务器对URL的长度有限制。因此,在使用GET请求时,传输数据会受到URL长度的限制,一般传送的数据量不超过2KB。

②POST请求

  • 由于不是URL传值,理论上是不会受限制的,但是实际上各个服务器会规定对POST提交数据大小进行限制,Apache、IIS都有各自的配置。
  • 总结:GET的URL会有长度上的限制,则POST的数据则可以非常大。

3)安全性

在这里插入图片描述

①GET请求:

  • 传输的参数安全性低,因为传输的数据会显示在URL中,所有人都是可见的,并且会被缓存和保留在浏览器历史中

②POST请求

  • 数据存放在请求包中进行传输,不会显示在 URL 中,并且参数不会被缓存和保存在浏览器历史或 web 服务器日志中
  • 总结:POST比GET安全

4)传输数据的类型

①GET请求:

  • 只允许 ASCII 字符

在这里插入图片描述

②POST请求

  • 支持多种数据类型

5)对服务器的影响

①GET请求:

  • 从服务器上获取数据,也就是所谓的查,仅仅是获取服务器资源,不进行修改。

②POST请求

  • 向服务器提交数据,这就涉及到了数据的更新,也就是更改服务器的数据。

thanks for your reading


既然post有这么多优点,那我们为什么要使用get?

因为get比post更快

  • ①post请求的过程,会先将请求头发送给服务器进行确认,然后才真正发送数据;而get请求的过程,会在连接建立后会将请求头和请求数据一起发送。
  • ②get会将数据缓存起来,而post不会。
  • ③可以做个简短的测试,使用ajax采用get方式请求静态数据(比如html页面,图片)的时候,如果两次传输的数据相同,第二次以后耗费的时间将在10ms以内(chrome测试),而post每次耗费的时间都差不多。
  • ④post不能进行管道化传输。
  • 小结:具体的使用根据实际情况而定,使用get请求通信的时候这样用户体验会更好,当然,如果有安全性要求的话,post会更好。

在这里插入图片描述

study hard and make progress every day

2020.02.21 ~

文章来源: blessing.blog.csdn.net,作者:辰兮要努力,版权归原作者所有,如需转载,请联系作者。

原文链接:blessing.blog.csdn.net/article/details/104434860

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。