HTTP中GET与POST方法有什么区别
2017-06-03 16:41
302 查看
HTTP请求的方法有很多种类,例如GET、POST、HEAD、TRACE、OPTIONS等,但是GET和POST是最常用的两个方法。其中,GET是最简单的一种请求方法,其主要功能是从服务器端获取用户所需资源,并将其作为响应返回给客户端,这些资源可以是HTML页面、图片、文档等内容中的任何一种,但需要注意的是,GET方法的作用主要是用来获取服务器端资源信息,如同数据库中查询操作一样不会影响到资源自身的状态,例如删除、修改或新增资源都是不允许的。而POST方法提供了比GET方法更强大的功能,它除了能够从服务器端获取资源外,同时还可以向服务器上传数据。
虽然GET方法主要用来先从服务器获取数据,也可以向服务器上传数据,但是一般不建议采用GET方法来向服务器上传数据,而是推荐使用POST方法实现该功能。具体而言,主要有以下两个方面原因:
1、采用GET方法向服务器上传数据时,一般将数据添加到URL后面,并且二者用“?”连接,各个变量之间使用“&”连接。由于对URL的长度存在限制,因此采用这种方法能上传的数据里非常小,通常在1024Byte左右。而POST方法传递数据是通过HTTP请求的附件进行的,传送的数据量更大一些,一般默认为不受限制的。
2、由于GET方法上传的数据是添加在URL中的,因此上传的数据被彻底“暴露”出来了,本身存在安全隐患,尤其是当用户需要向服务器提交一些敏感信息时。而POST方法向服务器提交的内容在URL中并没有明文显示,对用户都是不可见的,所以,安全性更好一些。
虽然GET方法主要用来先从服务器获取数据,也可以向服务器上传数据,但是一般不建议采用GET方法来向服务器上传数据,而是推荐使用POST方法实现该功能。具体而言,主要有以下两个方面原因:
1、采用GET方法向服务器上传数据时,一般将数据添加到URL后面,并且二者用“?”连接,各个变量之间使用“&”连接。由于对URL的长度存在限制,因此采用这种方法能上传的数据里非常小,通常在1024Byte左右。而POST方法传递数据是通过HTTP请求的附件进行的,传送的数据量更大一些,一般默认为不受限制的。
2、由于GET方法上传的数据是添加在URL中的,因此上传的数据被彻底“暴露”出来了,本身存在安全隐患,尤其是当用户需要向服务器提交一些敏感信息时。而POST方法向服务器提交的内容在URL中并没有明文显示,对用户都是不可见的,所以,安全性更好一些。
相关文章推荐
- 牛客网Java刷题知识点之什么是HTTP协议、什么是HTTP隧道、HTTP响应的结构是怎么样的、HTTP报头包含哪些、HTTP中GET与POST方法有什么区别
- HTTP协议中请求方法Get和Post的区别是什么?
- 解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别
- 解析HTTP协议六种请求方法:get,head,put,delete,post有什么区别
- 解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别
- 解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别
- HTTP中GET和POST方法有什么区别
- HTTP协议中POST、GET、HEAD的区别是什么?分别在什么情况下使用?
- Ajax访问不断变化的session的值不同步解决方法以及HTTP协议中的GET、POST的区别
- Http方法:Get请求与Post请求的区别
- 表单中POST方法与GET方法有什么区别
- HTTP中GET,POST方法之区别
- Http方法:Get请求与Post请求的区别
- HTTP协议中POST、GET、HEAD的区别是什么?分别在什么情况下使用?
- HTTP 协议请求方法GET 与POST 的区别?
- HTTP 协议请求方法GET 与POST 的区别?
- 关于 HTTP 中的 Get 和 Post 方法的区别?
- HTTP中GET与POST方法的区别
- HTTP中GET与POST方法的区别
- HTTP协议中POST、GET、HEAD的区别是什么