GET和POST 的区别

133 阅读1分钟

幂等性

1.由于GET是读,POST是写,所以GET是幂等的,POST不是幂等的。

2.由于GET是读,POST是写,所以用浏览器打开的网页会发送GET请求,想要POST打开网页要用from标签。

3.由于GET是读,POST是写,所以用GET打开的页面刷新是无害的,POST打开的页面刷新需要确认。

4.由于GET是读,POST是写,所以GET结果会被缓存,POST结果不会被缓存。

5.由于GET是读,POST是写,所以GET打开的页面可被书签收藏,POST打开的不行。

请求参数

1.通常,GET请求参数放在url里,POST请求数据放在body(消息体)里。

2.GET请求参数会附加在URL后面,以问号(?)分隔URL和参数,参数之间以&符号分隔。例如:http://example.com/search?q=keyword。POST请求参数通过请求体(Request Body)传递,参数不会附加在URL上。

3.GET比POST更不安全,因为参数直接暴露在url上,所以不能用来传递敏感信息。(post可以构造)

4.GET请求参数放在url里是有长度限制的(HTTP协议没有,是浏览器和服务器限制),而POST放在body里没有长度限制。(面试回答,其实都是扯淡)

TCP packet

GET产生一个TCP数据包,POST产生两个或以上TCP数据包。