【Java】GET 和 POST 请求的区别

GET和POST是HTTP协议中最常用的两种请求方法,主要区别在于它们的约定和规范。GET主要用于获取资源,参数显示在URL中,可被缓存和收藏为书签;而POST用于传输实体,参数在请求正文中,常用于添加、修改操作,不被缓存且不保存在历史记录中。
摘要由CSDN通过智能技术生成

1. GET 和 POST 请求的区别

GETPOST请求是最常用的两种请求方法,写了几个Servlet项目,发现这两种请求用的实在是多,给我的感觉就是这两个请求仿佛只有一个名字不同而已。但是通过查询资料发现,里面大有文章。HTTP协议定义的方法类型一共有以下10种:
在这里插入图片描述

目前大部分网站都使用的是HTTP 1.1 协议

在平常我们使用的最多的就是GETPOST协议

1.1 相同点和最本质的区别

1.1.1 相同点

GETPOST请求底层都是基于TCP/IP协议实现的,使用其中任何一个都可以实现客户端和服务器端的双向交互。

1.1.2 最本质的区别

GETPOST最本质的区别就是“约定和规范”上的区别,在规范当中,定义GET请求是用来获取资源,也就是查询操作,而POST是用来传输实体对象的,因此会使用POST来进行添加、删除、和修改等操作。而删除操作应该是DELETE请求来完成,但是在实际当中使用POST来完成删除操作的更多一些。按照约定来说,GETPOST的参数也是不同的,GET请求是将参数拼加到URL进行参数传递的,而POST是将参数写入到请求正文当中进行传递的。
GET请求:
在这里插入图片描述
POST请求:
在这里插入图片描述

1.2 非本质区别

1.2.1 缓存不同

GET请求一般会被缓存,比如常见的CSS、JS、HTML请求都会被缓存;而POST请求默认是不进行缓存的。

1.2.2 参数长度限制不同

GET请求的参数是通过URL传递的,而URL的长度是有限的,一般为2k,浏览器厂商不同、版本不同限制的大小可能也不同,但是它们一定会对URL的大小进行限制;而POST请求参数是存放在请求正文当中的,所以大小没有限制。

1.2.3 回退和刷新不同

GET请求可以直接进行回退和刷新,不会对用户产生任何影响;而POST请求如果直接进行回退和刷新,将会把数据再次提交。

1.2.4 历史记录不同

GET请求的参数会保存在历史记录当中,而POST请求的参数不会保存在历史记录当中。

1.2.5 书签不同

GET请求的参数可以被收藏为书签,而POST请求不行。

1.3 总结

GETPOST请求是HTTP请求中最常用的两种请求方式,它们的底层都是基于TCP/IP实现的。它们主要有五个方面的区别:缓存不同、参数长度不同、回退和刷新不同、历史记录是否保存不同、书签不同。但是两者最大的区别就是约定和规范的不同,规定中GET是用来获取信息的,而POST是用来传递实体的,并且GET请求的参数主要放在URL当中,而POST请求的参数主要放在请求正文当中。

评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ζ◇十点半就睡觉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值