博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GET与POST的区别
阅读量:5134 次
发布时间:2019-06-13

本文共 1021 字,大约阅读时间需要 3 分钟。

一, GET 与 POST 的区别:

答:GET和POST本质上就是TCP链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。 

 

1,GET和POST还有一个重大区别,简单的说:GET产生一个TCP数据包;POST产生两个TCP数据包。对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据); 而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。

2,1,get用于获取数据,post用于提交数据。(像是好脉项目中资讯模块中的新闻列表等列表类的都属于get请求,提供给客户端的收藏接口应该做成post请求)

 

3,长度的限制: 

GET是通过排URL提交数据,因此GET可提交的数据量就跟URL 所能达到的最大长度有直接的关系

实际上HTTP协议对URL长度没有限制,限制URL长度的大多是浏览器或者服务器的配置参数

 

POST一般受服务器配置限制或者内存大小

 

 

4,安全性:

1,GET是通过URL方式请求,可以直接看到,明文传输

2,.POST是通过请求header请求,可以通过开发者工具或者抓包可以看到,同样也是明文的

3,GET请求会保存在浏览器历史纪录中,还可能会保存在Web的日志中。

 

5,GET和POST对服务器的状态

根据http的设计,大家在看到get的时候,都期望这个请求对服务器没有修改,看到post的时候,都认为这对服务器产生了修改。

 

6,GET幂等,POST不幂等幂等是指同一个请求方法执行多次和仅执行一次的效果完全相同。1.按照RFC规范,PUT,DELETE和安全方法都是幂等的。虽说是规范,但服务端实现是否幂等是无法确保的。2.引入幂等主要是为了处理同一个请求重复发送的情况,比如在请求响应前失去连接,如果方法是幂等的,就可以放心地重发一次请求。这也是浏览器在后退/刷新时遇到POST会给用户提示的原因:POST语义不是幂等的,重复请求可能会带来意想不到的后果。3.比如在微博这个场景里,GET的语义会被用在「看看我的Timeline上最新的20条微博」这样的场景,而POST的语义会被用在「发微博、评论、点赞」这样的场景中。

转载于:https://www.cnblogs.com/wangyue0925/p/9087587.html

你可能感兴趣的文章
74HC164应用
查看>>
变量声明和定义的关系
查看>>
Wpf 之Canvas介绍
查看>>
linux history
查看>>
jQuery on(),live(),trigger()
查看>>
Python2.7 urlparse
查看>>
sencha touch在华为emotion ui 2.0自带浏览器中圆角溢出的bug
查看>>
【架构】Linux的架构(architecture)
查看>>
ASM 图解
查看>>
Date Picker控件:
查看>>
你的第一个Django程序
查看>>
grafana授权公司内部邮箱登录 ldap配置
查看>>
treegrid.bootstrap使用说明
查看>>
[Docker]Docker拉取,上传镜像到Harbor仓库
查看>>
javascript 浏览器类型检测
查看>>
nginx 不带www到www域名的重定向
查看>>
记录:Android中StackOverflow的问题
查看>>
导航,头部,CSS基础
查看>>
[草稿]挂载新硬盘
查看>>
[USACO 2017 Feb Gold] Tutorial
查看>>