Get与Post的最重要区分就是Get是经由过程Url体式格局传送数据,而Post并不让用户看到传送的细致信息,这个区分决议了二者的用处。Get体式格局重要用于搜刮,而Post体式格局重要用于向服务器传送用户操纵信息。下面是Get与Post细致区分:
GET和POST的平安性
1、GET是经由过程URL体式格局要求,能够直接看到,明文传输。
2、POST是经由过程要求header要求,能够开发者东西或许抓包能够看到,一样也是明文的。
3、GET要求会保存在浏览器历史纪录中,还可能会保存在Web的日记中。
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相干学问,请接见ki4网!
以上就是php中get和post的区分是什么?的细致内容,更多请关注ki4网别的相干文章!