君子和而不同

从本质上讲,get和post都是http请求,都是tcp连接,是无区别的。
不同点

关于参数

考虑参数的位置:get请求的参数位于url中,而post请求的参数位于request body中。
这导致了三个问题,
一是get请求的安全性不如post请求;
二是get的参数有长度限制,而post没有;
三是get的参数只允许ASCII字符,post没有限制。

回退

点击回退或刷新时,post请求会再次提交表单,而get请求不会。
所以post是回退有害的,get回退无害。
关于缓存

缓存

get能被缓存,可以收藏为书签,参数保留在浏览器历史中;
post不能被缓存,不可收藏为书签,参数不会保留在浏览器历史中。
关于请求包

请求包

get请求只发送一个tcp数据包,即http header和data共同发送给web服务器,服务器响应200 OK.
post请求发送两个tcp数据包,第一次发送http header,如果web服务器予以响应100 continue,则发送第二个数据包data,服务器响应200 OK.

一图以蔽之

说说Get请求和Post请求的异同

义务

如果对你有帮助,为这篇文章点赞是你的责任和义务。
大家加油 ????

相关文章:

  • 2022-12-23
  • 2021-05-20
  • 2021-08-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-23
  • 2021-07-13
  • 2021-06-04
相关资源
相似解决方案