从使用角度分析GET和POST的差异性 应用场景
以前只会用GET和POST,但有时候就会傻傻分不清什么时候该用GET,什么时候该用POST,花了一段时间把这两个东西给琢磨了一遍,特此记录一下。 这里着重讲一下GET和POST一些细节。在讲两者传输区别之前,一个需要注意的就是: 很多人一提到地址栏的传参方式,就联想到GET,其实不管是GET还是POST都可以通过地址URL传递参数,因为参数属于URL的一部分,服务端只要能获取URL就能获取其中的参数。很多浏览器也对URL传参的大小做了限制,一般是2K字节数,很多服务器最多也只处理64K的URL。 GET请求: HTTP协议规定GET请求一般是将数据放在http的header部分,由于header本身只是作为一个标识,并不适合传输大量的数据,所以最好只用于传递一些关键参数信息。GET可以被浏览器缓存,很适合一些请求资源应用场景。 POST请求: HTTP协议规定POST请求一般是将数据放在http的body部分。这样不会受到传输数据的大小限制,理论上可以传输极大的数据包。不过POST请求作为不能被浏览器缓存 HTTP对通过body部分传输数据提供很多种(也就是请求头部对应的Content-Type属性),由于太多,就不一一举例了,就拿postman提供的几种方式作说明: multipart/form-data: 以表单的方式 上传文件 时就是使用的这种方式。 application