HTTP中的GET和POST方法
HTTP的请求中的Method有很多种,如GET、POST、HEAD、TRACE、OPTIONS等方法。在这些方法中get()和post()方法的使用率是最高的,也是最常用的。
HTTP常用方法:
- GET: 用于请求访问已经被URI识别的资源,可以通过URL传参给服务器;简单来说就是将服务端获取的用户所需的资源,作为响应信息返回给客户端(不会影响资源信息的状态,如:增删改查等操作)。
- POST:用于传输数据给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。请求服务器接受所指定的文档作为对所表示的URL的新的从属实体。
- PUT: 传输数据,报文主体中包含文件内容,保存到对应URI位置。从客户端向服务器所传送的数据取代指定的文档信息。
- HEAD: 获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。只请求页面的头部信息。
- DELETE:删除文件,与PUT方法相反,删除对应URI位置的文件。请求服务器删除指定的页面信息。
- OPTIONS:查询相应URI支持的HTTP方法。允许客户端查看服务器性能。
下面主要介绍HTTP中的两种常用方法:GET、POST
- GET:GET是最简单的一种请求方法,主要的功能是客户端通过服务端获取用户所需要的资源,然后服务端作出应答,并将应答的资源信息返回给客户端。在这个过程中不会对资源信息做出改动(如增删改的操作),所以说这个过程是安全的。
- POST:POST方法的主要作用是从服务器上获取数据,也可以向服务器上传数据,所以一般不建议使用GET上传数据。原因如下。
- )采用GET上传数据时,一般将数据添加到URL后面,两者之间用“?”连接,各个变量之间使用“&”连接,因为URL的长度存在限制,所以有一定的局限性,上传的数据量比较小。POST上传数据时是以附件的形式上传,默认是不受限制的。
- )GET上传数据时因为数据是添加在URL之后的,所以存在安全隐患,数据完全暴露在外,容易被利用。POST提交的数据是没有明文显示的,所以安全性比较高,对用户是不可见的。
综上而言,上传数据时使用POST方法上传数据要比GET要好很多。