HTTP协议中GET请求与POST请求一直是许多初学者老生常谈的问题,在面试中也会被经常提及,今天这篇文章就从不一样的角度来说一下它们之间的区别。
相信大家都背过这样一份“标准答案”:
1.post更安全,不会作为url的一部分,不会被缓存、及保存在浏览器浏览记录中
2.post发送的数据更大,而get有url长度限制
3.post能发送更多的数据类型
4.get比post速度快
5.post用于修改和写入数据,get一般用于搜索排序和筛选等操作
然鹅,这是面试官想要的答案吗?没点加分项怎能让面试官眼前一亮?
今天在学习nodejs时,又了解了另一个区别:post可以在请求体传数据。
这是在postman中进行测试时的图片,大家可以试着去敲一下,下面是一些总结
# post数据提交时候body数据的格式
-post可以在请求体里传数据
当向服务器端发送一个post请求的时候,需要把数据传输的格式告诉服务器。服务器会根据格式进行相应的数据解析。
通过在请求头中指定content-type来设置传输的格式
```application/x-www-form-urlencoded
以url分割的方式进行传递,例如
name=Tom&age=18
multipart/form-data
以FormData的形式进行传递.常用在文件上传的时候使用
----------------------------413992393401167966871583 Content-Disposition: form-data; name="nickName" 小明 ----------------------------413992393401167966871583 Content-Disposition: form-data; name="age" 18 ----------------------------413992393401167966871583--
text/plain
是一个文本内容,根据自己和服务器的约定进行传输
application/json
{ "name": "Tom", "age": 18 }
一点粗浅的理解,仅仅是自己的心得哦,大神勿喷