get请求和post请求的区别

说到 get 请求和 post 请求,就不得不提 HTTP 协议,因为浏览器和服务器的交互是通过 HTTP 协议执行的,而 get 请求和 post 请求也是 HTTP 协议中的两种方法。
 
HTTP全称为Hyper Text Transfer Protocol,中文翻译为超文本传输协议,目的是保证浏览器与服务器之间的通信。HTTP的工作方式是客户端与服务器之间的请求-应答协议。
 
HTTP协议中定义了浏览器和服务器进行交互的不同方法,基本方法有4种,分别是GET,POST,PUT,DELETE。这四种方法可以理解为,对服务器资源的 查,增,改,删。
 
GET:GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。
 
POST:POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容。几乎目前所有的提交操作都是用POST请求的。
 
PUT:PUT请求是向服务器端发送数据的(与GET不同)从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。
 
DELETE:顾名思义,DELETE请求就是删除服务器数据的过程。
 
下面主要比较一下 get 请求和 post 请求的区别。

 

get请求和post请求的区别

(1)get 请求是不安全的,因为在传输过程,数据被放在请求的 url 中;post 请求的所有操作对用户来说都是不可见的。 但是这种说法也不是绝对的,也可以在 get 请求加上 request body,给 post 请求带上 url 参数。
 
(2)get 请求提交的 url 中的数据最多只能是2048字节,这个限制是浏览器或者服务器给添加的,http协议并没有对 url 长度进行限制,目的是为了保证服务器和浏览器能够正常运行,防止有人恶意发送请求。post 请求则没有大小限制。
 
(3)get 请求限制 form 表单的数据集的值必须为 ASCII 字符;而 post 请求支持整个 ISO10646字符集。
 
(4)get 请求的执行效率比 post 请求好。get 请求是 form 表单提交的默认方法。
 
(5)get 请求产生一个 TCP 数据包;post 请求产生两个 TCP 数据包。对于 get 方式的请求,浏览器会把 http header 和 data 一并发送出去,服务器响应200(返回数据);而对于 post 请求,浏览器先发送 header,服务器响应100 continue,浏览器再发送 data,服务器再响应200(返回数据)。
  • 9
    点赞
  • 103
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值