HTTP 中 GET 与 POST 的区别

GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。

最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。

你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。

当你在面试中被问到这个问题,你的内心充满了自信和喜悦。

你轻轻松松的给出了一个“标准答案”:

• GET在浏览器回退时是无害的,而POST会再次提交请求。

• GET产生的URL地址可以被Bookmark,而POST不可以。

• GET请求会被浏览器主动cache,而POST不会,除非手动设置。

• GET请求只能进行url编码,而POST支持多种编码方式。

• GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

• GET请求在URL中传送的参数是有长度限制的,而POST么有。

• 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。

• GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

• GET参数通过URL传递,POST放在Request body中。

“很遗憾,这不是我们要的回答!”

This chapter requires login to view full content. You are viewing a preview.

Login to View Full Content

Course Curriculum

3

框架与 I/O:Spring、Netty 与 Web 容器

理解 Spring Boot 自动装配、AOP 与事务原理,掌握 Netty Reactor 模型及 Tomcat 连接处理机制,构建高内聚、易扩展的应用服务层。
4

高性能中间件:消息、缓存与存储

熟练运用 MySQL 索引/事务、Redis 缓存策略、Kafka/RocketMQ 消息可靠性,以及 ZooKeeper 分布式协调,搭建稳定、解耦的分布式数据底座。
6

云原生:容器化、可观测性与工程效能

通过 Docker/K8s 实现弹性部署,集成 Metrics/Logs/Traces 构建可观测体系,推动 DevOps 与自动化,让架构在云上持续交付与进化。