get post put delete 区别_POST与GET的区别

b63e2d80112a8d4a1e6816b8238c9c92.png

注:POST和GET,有什么区别?

我相信这个问题,大多同志在面试的时候都遇到过,那它们之间到底有什么区别呢?我最近也是刚接触了这个问题,所以我就通过总结也让自己能够更多的学到东西,能够让自己的基础知识更牢固吧。

首先,既然讲到区别,我就先讲下好多同志对它的错误认识以及看法,看看你在不在其中。

一丶对post与get区别的错误理解
  • 错误一:get安全性非常低,post安全性较高

这个看法,其实在我没深入接触它们之前也是这么认识的,但是现在通过学习,才发现我是大错特错。

你们以为的get不安全,是因为在地址栏能看见自己所提交的数据?而post却看不见,所以post比get安全? no no no 这样想你就大错特错了,来看图!!

get方法提交数据,下图。

699f1cb898a9a2edeb32d9cd3ac246b0.png

好像确实是啊,自己提交的信息名字什么的都在地址栏,那么你再看一下下图的POST提交数据。

post方法提交数据

7c34d10dc660bcc60d13cd4dc81791ec.png

有没有发现它写的更详细呢?哈哈?还给你排个版!!!确实,相比之下,post方法提交的数据一般人不会发现,所以GET确实差了那么一丢丢。

然而,从传输的角度来说,他们都是不安全的,因为 HTTP 在网络上是明文传输的,只要在网络节点上捉包,就能完整地获取数据报文,要想安全传输,就只有加密,也就是 HTTPS

那么现在第一个错误基本可以确定了吧!!!!

错误二:get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。

这个理解看上去写的很像真话,我都差点信了,但事实是这样的吗?no no no!!!!!!

下面我们看看w3cschool怎么说。

9226386f53b3341660c1a28b8e7f07ce.png

从图上对比来看好像确实是那么回事儿,但事实却不是那样。

注:HTTP 协议没有 Body 和 URL 的长度限制,对 URL 限制的大多是浏览器和服务器的原因。

浏览器原因就不说了,服务器是因为处理长 URL 要消耗比较多的资源,为了性能和安全(防止恶意构造长 URL 来攻击)考虑,会给 URL 长度加限制。(我认为这应该是正确的理解,哈哈哈)

所以,我感觉误区比较大的地方就是这两个地方,所以还是希望以后多加注意,我们都一样,不能随便信某度上的答案,要多查查资料。。。坑!!!

二丶get和post的区别

就说一下我自己了解的,不了解的我也不敢多说,我会慢慢补上来的!!!!借图说话,哈哈。

  1. get是获取数据的,而post是提交数据的。

只是它们的语义不同而已,各有各的,就好比汤勺就是喝汤用的,当然你用它炒菜也是可以的,只是有点别扭,而且是不是有点二二的感觉,哈哈哈。

注:HTTP请求,最初设定了八种方法。这八种方法本质上没有任何区别。只是让请求,更加有语义而已。

  • OPTIONS 返回服务器所支持的请求方法
  • GET 向服务器获取指定资源
  • HEAD 与GET一致,只不过响应体不返回,只返回响应头
  • POST 向服务器提交数据,数据放在请求体里
  • PUT 与POST相似,只是具有幂等特性,一般用于更新
  • DELETE 删除服务器指定资源
  • TRACE 回显服务器端收到的请求,测试的时候会用到这个
  • CONNECT 预留,暂无使用

2.GET 用于获取信息,是无副作用的,是幂等的,且可缓存, 而POST 用于修改服务器上的数据,有副作用,非幂等,不可缓存。

我知道的,确定的暂时这么多,当然还有关于GET和POST的TCP连接的问题,我不敢确定所以不敢瞎说,待我理解深入后,再来补上一补。

还有更多的区别,我会一一确认然后慢慢补来!!!关于它们谁更安全啊?有没有限制啊?在上面的误区中已经写过了,就不写了。

当然,GET和POST本质上并没有什么区别,GET和POST是就是HTTP协议中的两种发送请求的方法。

HTTP是什么?HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。

HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP链接。GET和POST能做的事情是一样一样的。你要给GET加上request body,给POST带上url参数,技术上是完全行的通的。

虽然写的东西不多,但也算是给自己一个小小的总结吧,如果有发现不对的地方,欢迎指出问题,本同志定会虚心接受~~~ 哈哈,好了,没了!

— END —

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值