前端面试押题
  • HTML
    • 有哪些新标签?
    • SVG 的区别是什么?
    • 如何理解 HTML 中的语义化标签
  • CSS
    • 如何清除浮动?
    • CSS 选择器优先级如何确定?
    • BFC 是什么
    • 两种盒模型(box-sizing)的区别?
    • 如何实现垂直居中?
  • JavaScript 押题基础篇
    • new 做了什么?
    • JS 如何实现类?
    • JS 的闭包是什么?怎么用?
    • JS 如何实现继承?
    • JS 的立即执行函数是什么?
    • JS 的数据类型有哪些?
    • 原型链是什么?
    • 这段代码中的 this 是多少?
  • JavaScript 押题手写篇
    • 手写数组去重
    • 手写简化版 Promise
    • 手写 AJAX
    • 手写深拷贝
    • 手写节流 throttle、防抖 debounce
    • 手写发布订阅
    • 手写 Promise.all
  • DOM 押题
    • 请简述 DOM 事件模型
    • 手写可拖曳 div
    • 手写事件委托
  • HTTP 押题
    • 说说同源策略和跨域
    • POST 的区别有哪些?
    • TCP 三次握手和四次挥手是什么?
    • Session、Cookie、LocalStorage、SessionStorage 的区别
    • HTTP 缓存有哪些方案?
    • HTTPS 的区别有哪些?
    • HTTP/2 的区别有哪些?
  • React 押题
    • 什么是高阶组件 HOC?
    • React Hooks 如何模拟组件生命周期?
    • 你如何理解 Redux?
    • React 有哪些生命周期钩子函数?数据请求放在哪个钩子里?
    • React 如何实现组件间通信
    • 虚拟 DOM 的原理是什么?
    • Vue DOM diff 的区别?
    • DOM diff 算法是怎样的?
  • Node.js 押题
    • 浏览器里的微任务和任务是什么?
    • EventLoop 是什么?
    • koa.js 的区别是什么?
  • TypeScript 押题
    • JS 的区别是什么?有什么优势?
    • any、unknown、never 的区别是什么?
    • TS 工具类型 Partial、Required、Readonly、Exclude、Extract、Omit、ReturnType 的作用和实现?
    • interface 的区别是什么?
Powered by GitBook
On this page
  • 区别一:幂等性
  • 区别二:请求参数
  • 区别三:TCP packet
  1. HTTP 押题

POST 的区别有哪些?

区别一:幂等性

  1. 由于 GET 是读,POST 是写,所以 GET 是幂等的,POST 不是幂等的。

  2. 由于 GET 是读,POST 是写,所以用浏览器打开网页会发送 GET 请求,想要 POST 打开网页要用 form 标签。

  3. 由于 GET 是读,POST 是写,所以 GET 打开的页面刷新是无害的,POST 打开的页面刷新需要确认。

  4. 由于 GET 是读,POST 是写,所以 GET 结果会被缓存,POST 结果不会被缓存。

  5. 由于 GET 是读,POST 是写,所以 GET 打开的页面可被书签收藏,POST 打开的不行。

区别二:请求参数

  1. 通常,GET 请求参数放在 url 里,POST 请求数据放在 body(消息体)里。(这里注意老师的讲解)

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

  3. GET 请求参数放在 url 里是有长度限制的,而 POST 放在 body 里没有长度限制。(xjb扯)

区别三:TCP packet

  1. GET 产生一个 TCP 数据包;POST 产生两个或以上 TCP 数据包。

⚠️

根据技术规格文档,GET 和 POST 最大的区别是语义;但面试官一般问的是实践过程中二者的区别,因此你需要了解服务器和浏览器对 GET 和 POST 的常见实现方法。

Previous说说同源策略和跨域NextTCP 三次握手和四次挥手是什么?

Last updated 3 years ago