Skip to content

GET 和 POST 的区别

1: 编码类型不同

GET:application/x-www-form-urlencoded

POST:application/x-www-form-urlencoded 或 multipart/form-data

2:对数据类型的限制

GET: 只允许 ASCII 字符。 POST: 没有限制。也允许二进制数据。

3: GET 和 POST 方法没有实质区别,只是报文格式不同

POST 请求报文第一行: POST /uri HTTP/1.1

GET 请求报文第一行: GET /uri HTTP/1.1

4: 我们可以在 URL 上写参数,然后方法使用 POST;也可以在 Body 写参数,然后方法使用 GET。当然,这需要服务端支持。

5: GET 方法参数

不一定要写成http://www.example.com?username=chengqm&age=22

也可以写成 http://www.example.com/username/chengqm/age/22

6: POST 和 GET 方法一样不安全, 因为 HTTP 在网络上是明文传输的

7: GET 方法的长度限制是浏览器的行为,为了性能和安全,防止恶意构造长 URL 来攻击