从HTTP的角度分析get 与post的区别
很多人都会使用get与post提交表单,在他们看来,这两个的区别就在于怎样传递参数,一个是显示的,直接附加在转向的链接上。一个则是不显示在链接上;
举个例子,比如我们要传递到的文件的相对路径是 /test/myTest 参数是name=Agoni pwd=54504
如果你使用get方法提交表单,则链接显示的是/test/myTest?name=Agoni&pwd=54504
而如果是使用的是post方法提交表单,链接是:/test/myTest
相同的地方在于他们都将参数传递过去了。
但是链接不同不是get与post的区别的原因,它只是一个表象,是由于get与post区别而产生的结果而已,不是其原因。
真正的原因在于他们提交的HTTP请求格式不一样:
GET方法的请求是:
GET /test/myTest?name=Agoni&pwd=54504 HTTP/1.1
而POST方法的请求是这样的:
POST /test/myTest HTTP/1.1
Connection:Keep-Alive
name=Agoni&pwd=54504
所以才导致了链接显示的不同。