问答题 HTTP中GET与POST方法有什么区别
【正确答案】
【答案解析】HTTP请求的方法有很多种类,例如GET、POST、HEAD、TRACE、OPTIONS等,但是CET与POST是两个最常用的方法。其中,GET是最简单的一种请求方法,其主要功能是从服务器端获取用户所需资源,并将其作为响应返回给客户端,这些资源可以是HTML页面、图片、文档等内容中的任何一种,但需要注意的是,GET方法的作用主要用来获取服务器端资源信息,就如同数据库中查询操作一样,不会影响到资源自身的状态,例如删除、修改或新增资源都是不允许的。而POST方法提供了比GET方法更强大的功能,它除了能够从服务器端获取资源外,同时还可以向服务器上传数据。
虽然GET方法主要用来从服务器上获取数据,也可以向服务器上传数据,但是一般不建议采用GET方法来向服务器上传数据,而是推荐使用POST方法实现该功能。具体而言,主要有以下两个方面原因:
1)采用GET方法向服务器上传数据时,一般将数据添加到URL后面,并且二者用“?”连接,各个变量之间用“&”连接。由于对URL的长度存在限制,因此采用这种方法能上传的数据量非常小,通常在1024 Byte左右。而POST方法传递数据是通过HTTP请求的附件进行的,传送的数据量更大一些,一般默认为不受限制的。
2)由于GET方法上传的数据是添加在URL中的,因此上传的数据被彻底“暴露”出来了,本身存在安全隐患,尤其是当用户需要向服务器提交一些敏感信息时。而POST方法向服务器提交的内容在URL中并没有明文显示,对用户都是不可见的,所以,安全性更好一些。
常见笔试题:
在HTTP中,用于发送大量数据的方法是______。
A.GET B.POST C.PUT D.OPTIONS
答案:B。见上面讲解。