博客 Java GET和POST两者请求的区别

GET和POST两者请求的区别

应用场景

一般Get请求用于对服务器资源不会产生影响的场景,比如说请求一个网页的资源。而Post请求一般用于对服务器资源会产生影响的场景,比如用户注册这一类的操作。

区别

那么Get请求和Post请求又有哪些区别嘞?可能你会轻松的列出好几项区别?

  1. 浏览器一般会对Get请求缓存。而对Post请求却不会,除非手动设置。
  2. Get请求是把请求的参数放在Url中向服务器发送,而Post请求是将请求的参数放在Request body中。
  3. 因为上面这点,因为Get请求参数是放在Url上,并且会被保留在浏览器的历史记录中。而Post请求则不会保留,所以他的安全性会比Post请求差。
  4. 对于请求参数的长度上,Get请求也是有限制的。而Post请求却没有限制。
  5. 对于参数的类型,Post也更加丰富。Get只支持ASCII字符,而Post对于参数的类型没有限制。

实质

一般面试的时候,你会巴拉巴拉的说上面一堆。但这里要告诉你的,可能会对你有所冲击,从本质来说,Get其实和Post没有区别。其实Get和Post只是Http发送请求的两种方式。那么Http是什么嘞?Http是基于TCP/IP的关于数据如何在万维网中如何通信的协议。其实Get个Post请求能做的事情是一样的,我们可以在Get请求中的Request Body中增加参数,也可以在Post请求的Url上增加参数,这都是可行的。

对于Get,Post, Put, Delete等来说,他们的本质都是TCP链接。只是由于Http的规定和浏览器的限制,导致他们在应用过程中体现出一些不同。

本文来自网络。 授权转载请注明出处:http://www.dreamwu.com/blog/article/pid-20614.html

发表评论

(快捷键:Ctrl+Enter 或 Alt+Enter)
匿名评论时,请补充填写以下信息:
*以下联系方式请至少填写一种:

评论列表(1)

  • Michael 说道:

    虽然很常用,有时被问起来却不知道如何回答,学习了!

联系我们

联系我们

QQ:2686930

在线咨询: QQ交谈

邮箱: dwu365@126.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

手机访问
手机扫一扫打开网站

手机扫一扫打开网站

返回顶部