get与post请求
在http请求协议中,有两种数据传送方式最为常见,那就是 get 和 post 请求方式。
GET
get主要是从服务器获取数据,通常我们提交一个表单,用get方式会这样写,form表单的method会用get:
<form action="http://www.baidu.com/" method="get"> |
当我们输入用户名:yix, 密码:123456时,页面会跳转到这样一个网址:

由以上网址可以看到,get方式是将数据放在url里面来提交的,即数据会显示在url中,这样我们就可以看到用户名和密码等信息。显然,这种数据提交的方式安全性是很低的。并且,url的最大容量为10K左右,所以这种方式的容量也是比较低的。
但正是这种url存放了数据(url的参数)的机制,因此可以根据这些具体的参数得到一个网站的某篇文章,或者某个帖子的详细地址,而非这个网站的主页地址。
POST
post方式,是把本地数据提交给服务器,form表单的method会用post:
<form action="http://www.baidu.com/" method="post"> |
我们再次输入用户名:yix, 密码:123456时,页面会跳转到这样一个网址:

由上面的网址我们可以看到,与get相比,post是把数据放在http content中,url除了首页地址看不到任何的其他数据,因此数据安全性大大的提高。而且,一般来说32位系统的机器http content的容量为2G左右。
GET和POST的区别
处理数据: get是从服务器获取数据,post是把本地数据提交给服务器。post请求不会被缓存,而get可以。
安全性:get会把数据显示在url中,而post则不会。因此post的安全性要get好很多。
容量性:get最多10K左右,post则为2G。所以post的容量要比get大很多。