1. 数据位置
Get请求的数据会附在url之后,Post会把数据放在http的包体中
2. 数据大小
Get方式提交的数据最多只能由1024字节,而post理论上没有限制,可传较大的数据量
实际上,url不存在参数上限的问题,http协议并没有url长度家限制,这个限制是浏览器以及服务器对他的限制;
Post也没有限制,起限制作用的是服务器的处理程序的处理能力。
php.ini中修改file_uploads ,upload_max_filesize,post_max_size,max_input_time ,memory_limit避免post大量使用内存,max_execution_time传递大数据进入无限循环时管用,避免PHP在脚本正在执行某些重要过程的时候将脚本关闭
3. 安全性
Post安全性要比get高,get可以通过被缓存,浏览器浏览记录观察到,也可以加入收藏
4. 支持编码
Get只支持ASCII编码,post没有限制,二进制也可以
如何选择使用get还是post
Get:无副作用,数据量较小,适用于查询,搜索,读操作
Post:有副作用,适用于增删改,数据量较大