登录  /  注册

在php中get和post区别

angryTom
发布: 2019-08-23 16:28:46
原创
5224人浏览过

在php中get和post区别

php get和post的区别

  1.get在浏览器回退是无害,而post会再次请求;

  2.get产生的url地址可以被收藏,而post不会;

  3.get请求参数会被完整保留在浏览器历史记录立,而post参数不会保留;

  4.get参数通过url传递,post放在request boby中;

  5.get请求在url中传递的参数有长度限制,而post没有;

  6.壁纸栏里GET有参数,post无参数。

GET和POST长度的限制问题

GET

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

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

POST

  1.同样的,HTTP协议没有对POST进行任何限制,一般是受服务器配置限制或者内存大小。

  2.PHP下可以修改php.conf的postmaxsize来设置POST的大小。

请求header的content-length问题

  如果有人恶意伪造content-length很大的包头,但实际上发送content-length很小的请求,这样服务器会一直干等,直到超时。当然服务器是可以通过设置来避免该问题的

推荐教程:PHP视频教程

GET和POST的安全性

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

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

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

GET和POST对服务器的状态

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

GET幂等,POST不幂等

  幂等是指同一个请求方法执行多次和仅执行一次的效果完全相同。

  1.按照RFC规范,PUT,DELETE和安全方法都是幂等的。虽说是规范,但服务端实现是否幂等是无法确保的。

  2.引入幂等主要是为了处理同一个请求重复发送的情况,比如在请求响应前失去连接,如果方法是幂等的,就可以放心地重发一次请求。这也是浏览器在后退/刷新时遇到POST会给用户提示的原因:POST语义不是幂等的,重复请求可能会带来意想不到的后果。

  3.比如在微博这个场景里,GET的语义会被用在「看看我的Timeline上最新的20条微博」这样的场景,而POST的语义会被用在「发微博、评论、点赞」这样的场景中。

以上就是在php中get和post区别的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号