php中get和post的区别是什么?

青灯夜游
发布: 2019-10-17 14:04:28
原创
5534人浏览过

php中get和post的区别是什么?

get与post的最主要区别就是get是通过url方式传送数据,而post并不让用户看到传送的具体信息,这个区别决定了两者的用途。get方式主要用于搜索,而post方式主要用于向服务器传送用户操作信息。下面是get与post详细区别:

GET和POST的安全性

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

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

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

立即学习PHP免费学习笔记(深入)”;

get提交,请求的数据会跟在url(统一资源定位)后面,安全性低

post提交,把提交的数据放在http包的包体中,安全性高

GET和POST的数据大小

GET:特定浏览器和服务器对URL长度有限制,例如IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。Get传输的数据量小,因为受URL长度限制,但效率较高;

POST:由于不是通过URL传值,理论上数据不受限。Post可以传输大量数据,所以上传文件时只能用Post方式;

传输数据字符格式不同

get限制Form表单的数据集的值必须为ASCII字符,不能通过request.setCharacterEncoding("utf-8");设置中文字符,服务器得到的中文字符可能为乱码!

post支持整个字符集ISO10646,可以通过request.setCharacterEncoding("utf-8");正确显示中文字符。

服务器端获取数据方式不同

Get在服务器端$_GET;

Post在服务器端$_POST

GET幂等,POST不幂等

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

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

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

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

更多PHP相关知识,请访问php中文网

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

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

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