GET和POST的区别

136 阅读2分钟

目录

1、前言

2、HTTP协议

3、GET请求

4、POST请求

5、GET请求与POST请求对比


1、前言

经常在面试或笔试的时候,会被问到GET请求与POST请求有何区别,区别在哪里,什么时候用GET请求、什么时候用POST请求等等的问题。

2、HTTP协议

是什么会用到这两种方法(GET请求与POST请求)?

先来了解什么是HTTP?

超文本传输协议(Hypertext Transfer Protocol,缩写 HTTP)旨在启用客户端和服务器之间的通信。

HTTP充当客户端和服务器之间的请求-响应协议。

举例:客户端(浏览器)向服务器发送HTTP请求;然后服务器将响应返回客户端。响应包含有关请求的状态信息,也可能包含所请求的内容。

HTTP方法:

GET

POST

PUT

HEAD

DELETE

PATCH

OPTIONS

...

最常用的两种方法是:GET和POST

3、GET请求

GET请求用于从指定资源请求数据。

示例:

请求参数(名称/值对)是在GET请求的URL中发送的:

GET请求可被缓存

GET请求保留在浏览器历史记录中

GET请求可被收藏为书签

GET请求不应在处理敏感数据时使用

GET请求有长度限制(若要支持IE的话,最大的长度为2083字符,若是中文字符的话只有2083/9=231个字符)

GET请求只应当用于取回数据(不修改)

4、POST请求

POST请求用于将数据发送到服务器来创建/更新资源。

示例:

通过POST发送到服务器的数据存储在HTTP请求的请求主体中:

POST请求不会被缓存

POST请求不会保留在浏览器历史记录中

POST不能被收藏为书签

POST请求对数据长度没有要求

5、GET请求与POST请求对比

根据w3school给出的表格,可以清楚的看到GET与POST的区别: