HTTP请求的方法有很多:GET、POST、HEAD、TRACE、OPTIONS等,但是GET和POST是两个最常用的方法。
GET是最简单的一种请求方法,其主要功能是从服务器端获取用户所需资源,并将其作为响应返回给客户端,需要注意的是:GET方法的作用主要用来获取服务器端资源信息,就如同数据库查询一样,不会影响资源本身的状态,如删除、修改、新增是不允许的。而POST请求除了能从服务器端获取资源外,同时还可以向服务器上传资源。
虽然GET方法主要用来从服务器上获取数据,也可以向服务器上传资源,但是一般不建议采用GET方法用来向服务器上传资源,而是推荐用POST方法实现该功能。主要原因是:
1)采用GET方法向服务器上传数据时,一般将数据添加到URL后面,并且二者用 “?” 连接,各个变量之间用 “&” 连接。由于对URL的长度存在限制,因此采用GET方法能上传的数据量非常小,通常在1024Byte左右。而POST方法传递数据是通过HTTP请求的附件进行的,传送的数据量更大一些,一般默认认为不受限制的。
2)由于GET方法上传的数据是添加在URL中的,因此上传的数据被彻底“暴露”出来,本身存在安全隐患,尤其是一些敏感信息。而POST方法向服务器提交的内容在URL中没有明文显示,对用户都是不可见的,所以,安全性更好。