首页
学习
活动
专区
圈层
工具
发布

GET 和 POST请求的本质区别是什么?原来我的理解一直是错的

GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。...GET参数通过URL传递,POST放在Request body中。 (本标准答案参考自w3schools) “很遗憾,这不是我们要的回答!” 请告诉我真相。。。...如果我告诉你GET和POST本质上没有区别你信吗? 让我们扒下GET和POST的外衣,坦诚相见吧! GET和POST是什么?HTTP协议中的两种发送请求的方法。 HTTP是什么?...HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。 HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP链接。...GET和POST能做的事情是一样一样的。你要给GET加上request body,给POST带上url参数,技术上是完全行的通的。 那么,“标准答案”里的那些区别是怎么回事?

4K00

前端源码解读:前端小白也能轻松理解的axios源码

1、配置请求 vs 链式简化请求 在日常开发中,大家使用 axios 时,可能经常会遇到这两种调用方式: 基于配置的请求: axios({ method: 'post', url: '/user...request 方法是一个通用的请求函数,而 get 和 post 方法则是分别调用 request 并传入不同参数的快捷方式。...2.2 Axios 的巧妙设计 为了让 axios(config) 和 axios.post() 两种调用方式都能正常工作,axios 采用了一种非常巧妙的设计:它返回了一个既是函数又是对象的实例。...是一个函数 instance.get = Axios.prototype.get; instance.post = Axios.prototype.post; return instance...; } let axios = createInstance(); 通过这样的设计,axios 实例既可以作为函数使用(用来发起请求),又可以作为对象使用(可以调用 get 和 post 方法)。

43410
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    前后端交互的弯弯绕绕

    :GET、POST、PUT、DELETE 等 HTTP 请求,并处理响应;Axios 的主要特点包括:支持浏览器和 Node.js:在不同的环境中使用相同的 APIPromise-based:使得异步操作更加简洁取消请求...的配置和调用方式都很繁琐,实现异步请求十分麻烦JQuery的ajax相对于原生的ajax是非常好用的,但是没有必要因为要用ajax异步网络请求而引用jQuery框架;Axios 是一个基于Promise...响应的能力;配置请求: 使用 open 方法配置请求的类型(如 “GET” 或 “POST”)、URL 和是否异步发送请求: 使用 send 请求,send({});参数是通过请求体携带的数据,而GET...Promise 对象中管理一个异步任务,用 then 返回 Promise 对象,串联起来好处:通过链式调用,解决回调函数嵌套问题/*** 目标:把回调函数嵌套代码,改成Promise链式调用结构* 需求...也用做一个类似的: Get请求、表单+Get请求、表单+Post请求、AJax|Axios+Post+JSON请求 请求数据格式: string、int、double、时间date、map{k,v

    1.5K20

    面试官不要再问我axios了?我能手写简易版的axios

    juejin.cn/post/6973257605367988260 axios作为我们工作中的常用的ajax请求库,作为前端工程师的我们当然是想一探究竟,axios究竟是如何去架构整个框架,中间的拦截器...) => { chain.push(item.fulfilled, item.rejected) }) // 利用promise的链式调用,将参数一层一层传下去 let...设计的巧妙, 维护一个栈结构 + promise 的链式调用 实现了 拦截器的功能, 可能有的小伙伴到这里还是不是很能理解,我还是给大家画一个草图去模拟下这个过程。...没什么问题,然后请求结束后,我们又想对请求之后的数据做处理,所以响应拦截的数据自然是push了。这时候栈结构变成了这样: ?...源码里面做了很多处理, 这里我只做了get处理,我主要的目的就是为了axios是如何取消请求的。

    84030

    面试官不要再问我axios了?我能手写简易版的axios

    juejin.cn/post/6973257605367988260 axios作为我们工作中的常用的ajax请求库,作为前端工程师的我们当然是想一探究竟,axios究竟是如何去架构整个框架,中间的拦截器...) => { chain.push(item.fulfilled, item.rejected) }) // 利用promise的链式调用,将参数一层一层传下去 let...设计的巧妙, 维护一个栈结构 + promise 的链式调用 实现了 拦截器的功能, 可能有的小伙伴到这里还是不是很能理解,我还是给大家画一个草图去模拟下这个过程。...加完请求拦截器我们的栈变成了这样 没什么问题,然后请求结束后,我们又想对请求之后的数据做处理,所以响应拦截的数据自然是push了。...源码里面做了很多处理, 这里我只做了get处理,我主要的目的就是为了axios是如何取消请求的。

    92410

    从Java全栈到Vue3实战:一场真实的技术面试对话

    常见的GC算法有标记-清除、标记-整理、复制算法等。JVM中的堆内存分为新生代和老年代,不同的GC算法适用于不同区域。 **面试官**:非常好,你的回答很清晰。那你能说说Java的类加载机制吗?...**应聘者**:我们通常使用Spring MVC来构建API,遵循RESTful风格,比如GET用于获取数据,POST用于创建资源,PUT更新,DELETE删除。...**面试官**:那你能举一个具体的例子吗?比如一个用户登录的接口设计。 **应聘者**:可以。登录接口一般是POST请求,参数包括用户名和密码,返回一个token。...那你能写一段Axios调用的代码吗? **应聘者**:好的,我来写一个简单的登录请求。...**应聘者**:好的,我来写一个简单的JWT生成和验证示例。

    22210

    面试官不要再问我 axios 了?我能手写简易版的 axios

    ) => { chain.push(item.fulfilled, item.rejected) }) // 利用promise的链式调用,将参数一层一层传下去 let...设计的巧妙, 维护一个栈结构 + promise 的链式调用 实现了 拦截器的功能, 可能有的小伙伴到这里还是不是很能理解,我还是给大家画一个草图去模拟下这个过程。...加完请求拦截器我们的栈变成了这样 没什么问题,然后请求结束后,我们又想对请求之后的数据做处理,所以响应拦截的数据自然是push了。...所以 我们用axios 自定义adapter 器的时候, 一定是返回一个promise。ok请求的方法我在下面模拟写出。 cancleToken 我首先问大家一个问题,取消请求原生浏览器是怎么做到的?...源码里面做了很多处理, 这里我只做了get处理,我主要的目的就是为了axios是如何取消请求的。

    92030

    从Java全栈到前端框架:一位资深开发者的实战经验分享

    今天,我有幸与一位拥有多年经验的Java全栈开发者进行了一次深入的技术交流,他分享了自己在多个项目中的实战经验,并展示了他在技术上的扎实基础和灵活应用能力。...我在团队中主要负责后端服务的性能调优和JVM参数配置。比如,在一次大促活动中,我们发现系统响应时间变慢,于是通过JVisualVM分析堆内存,发现是频繁GC导致的性能瓶颈。...那么,你能解释一下G1垃圾回收器的工作机制吗? **应聘者**:G1是一种分代收集算法,它将堆划分为多个区域(Region),并优先回收垃圾最多的区域。...### 第三轮:前端框架与用户体验 **面试官**:除了后端,你还熟悉前端技术,比如Vue.js和React,能说说你在实际项目中是如何结合前后端的吗?...通过Axios发起HTTP请求,实现了数据的动态加载和交互。

    16810

    从全栈到微服务:一位Java工程师的实战之路

    # 从全栈到微服务:一位Java工程师的实战之路 ## 面试开场 面试官(微笑):你好,很高兴见到你。我是今天的面试官,可以先简单介绍一下你自己吗?...应聘者(点头):好的,我叫李明,28岁,硕士学历,有5年左右的开发经验。我主要做的是Java全栈开发,包括前后端的技术实现,也参与过一些微服务架构的设计和部署。...面试官:非常棒,看来你对JVM调优也有一定的经验。那你能举一个实际的例子,说明你是如何优化JVM性能的吗? 应聘者:有一次我们在处理高并发请求时,发现GC频繁,导致系统响应变慢。...你提到你熟悉Vue3和TypeScript,能说说你在项目中是如何结合它们的吗? 应聘者:当然。...REST API的设计遵循了资源导向的原则,比如使用GET获取资源,POST创建资源等。同时我们也集成了Swagger来生成API文档。 面试官:听起来你对RESTful设计有一定的理解。

    24910

    【面试Vue全家桶】vue前端交互模式-es7的​语法结构?asyncawait

    vue的那种。异步接口调用,常常使用到的语法,promise的概念是什么呢?调用接口的方式,第一种为,fetch进行接口调用,第二种为,axios进行接口的调用。 es7的语法结构?...让我们了解一下前后端的交互模式,学习一下promise的语法,来回答面试官的问题,基于promise来实现异步调用,就算你会promise?那你了解fetch用法和async/await用法吗?...因为 Promise.prototype.then 和 Promise.prototype.catch 方法返回promise 对象, 所以它们可以被链式调用。 ​ ? ​ ? ​ ?...(presponseText)相同 接口调用axios用法 第三方的库,很强大,是一个局域promise用于浏览器和node.js的HTTP客户端。...axios的基本用法 axios.get('/dada').then(ret=>{console.log(ret.data);}); axios的常用api get,查询数据,post,添加数据,put

    1.9K10

    从全栈开发到微服务架构:一个Java工程师的实战之路

    使用了`@RestController`来简化返回结果,`@GetMapping`和`@PostMapping`分别处理GET和POST请求,`@RequestBody`用于接收JSON格式的请求体。...### 第三轮:前端框架与Vue.js **面试官**:你之前提到你熟悉Vue.js,能说说你是如何结合Vue和后端接口进行开发的吗?...**应聘者**:我们在前端使用Vue3配合Element Plus组件库,通过Axios调用后端提供的REST API。...例如,用户列表页面会通过Axios发送GET请求,获取所有用户数据并渲染到界面上。 **面试官**:那你能展示一个Vue组件的示例吗? **应聘者**:好的。...如果你加入我们团队,相信会对项目有很大的帮助。 **应聘者**:谢谢您的认可,我也很期待有机会加入贵公司。 **面试官**:好的,我们会尽快通知你下一步安排。祝你今天愉快!

    16010

    【Web技术】975- 由封装一个请求库所想到的

    阅读 axios 和 umi-request 源码时想到,请求库其实基本都包含了拦截器、中间件和快捷请求等几个通用的,与具体请求过程无关的功能。然后通过传参,让用户接触底层请求内核。...拦截器 拦截器是修改参数和响应的另一种方式。 首先看一下 axios 中拦截器是怎么用的。...中,可以直接使用下面这种形式进行调用 axios('http://localhost:3000/api').then(res => console.log(res)) 复制代码 我将这种请求方式称之为简单请求...你可以思考几分钟,然后看一下这个文档和源码 实战 以微信小程序为例。小程序中自带的 wx.request 并不好用。使用上面我们封装的代码,可以很容易的打造出一个小程序请求库。...当面对一个 axios 不支持的平台时,也不用费劲的去找开源好用的请求库了。我相信很多人在开发小程序的时候,基本都有去找 axios-miniprogram 的解决方案。

    61920

    【总结】1143- 10 个建立和维护大型 Vue.js 项目的最佳实践

    3.使用操作(Vuex Actions)进行 API 调用和提交数据 我的大多数API调用(如果不是全部)都在我的 Vuex 操作(vuex actions)中进行。...您可能想知道:为什么这里调用更好? 仅仅因为它们中的大多数都提取了我需要在存储(vuex store)中提交的数据。此外,它们提供了我真正喜欢的封装性和可重用性。...我这样做还有其他一些原因: 如果我需要在两个不同的地方(例如博客和首页)获取文章的首页,则可以使用正确的参数调用适当的调度程序。数据将被提取,提交和返回,除了调度程序调用外,没有重复的代码。...$post("/auth/register", payload); } }); 的JavaScript 现在,我可以简单地在我的组件或 Vuex 操作中调用它们,如下所示: export default...为了避免您的应用程序变慢(尤其是在移动网络变慢的情况下),我在Visual Studio Code中使用了导入费用包。

    1.6K10

    promise & axios & async_await 关于 Promise

    【1】Promise是什么 Promise 是ES6里面异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。...}).catch((err)=>{ // 这里移到第一个链式去,发现上面的不执行了,下面的继续执行 console.log(err); }) ​ promise的then链式调用仍然是层层依赖的逻辑但是不会像...“地狱回调”那么不美观和不易于维护 promise & axios axios 是由 promise 封装的一个 http 的库。...出来的, 是es6的promise的升级版,更好地处理 then链式调用,await顾名思义就是‘等一下’(等一下我这个promise异步执行完你下面的再执行)让异步编程做起来更有同步的感觉。...async/await和axios 结合一起使用。

    1.9K20

    vue.cli项目封装全局axios,封装请求,封装公共的api和调用请求的全过程

    大家好,又见面了,我是你们的朋友全栈君。...如果你能看到这篇文章,鉴于有很多小白可能会参考我这篇文章来进行前期配置,特说明下正式配置路线: 拿到项目及后台接口,首先做的是配置全局代理及第二点; 全局封装axios及第三点request.js;...关于代理可能出现的问题,可以查看我的另一篇文档VueCil代理本地proxytable报错的解析; tips:如果报错服务器连接失败,是因为下面配置的代理地址是错误的,是我写的假的,需要替换成自己的服务器...http://197.0.0.2:8088是假地址,需要替换成自己服务器; 以上 我已经举了很清晰的例子,写代码的过程是自己动脑去搭建工程的,希望能看到我文章的各位,善于搜索,善于思考,善于总结...,封装请求,封装公共的api,配置多个接口,页面如何调用请求等问题,都是亲测有用的~ 但是这种封装方法的话,更适合大中型项目,配置比较合理,如果是自己小项目,就直接用axios就完事了。。。

    4.6K32

    从Java全栈到前端框架:一次真实的面试对话与技术解析

    # 从Java全栈到前端框架:一次真实的面试对话与技术解析 ## 面试官:您好,很高兴见到您。我注意到您的工作经历中提到了很多Java和前端相关的技能。能简单介绍一下您的工作背景吗?...**应聘者**:您好,我是李明,28岁,硕士学历,有5年左右的开发经验。主要做的是Java全栈开发,包括后端服务、前端界面以及一些微服务架构的设计和实现。...可以分享一下吗? **应聘者**:有一次在处理高并发订单时,发现数据库的写入压力很大,导致响应变慢。我们最终通过引入Kafka异步处理订单状态变更,再由消费者去更新数据库,大大降低了系统的延迟。...它定义了四个方法,分别对应GET、POST、PUT和DELETE操作,用于获取订单、创建订单、更新订单和删除订单。 ## 面试官:那这个Controller是如何调用业务逻辑层的?...## 面试官:那我们可以看一下具体的代码示例吗? **应聘者**:好的,下面是一个简单的订单列表组件示例。

    16710

    从零到一:一位Java全栈工程师的面试实战与技术解析

    首先,我想了解一下你在项目中使用过哪些Java版本? 应聘者:我主要用的是Java 11和Java 17,也接触过Java 8。不过最近几年基本都是Java 11为主。 面试官:嗯,不错。...那你知道JVM的内存模型吗?可以简单说一下吗? 应聘者:JVM的内存模型主要包括方法区、堆、栈、程序计数器和本地方法栈。其中堆是存放对象的地方,而栈是存放局部变量和操作数的。...应聘者:堆内存是所有线程共享的,用于存储对象实例;而栈内存是线程私有的,每个线程都有自己的栈,用来存储方法调用时的局部变量和操作数。 面试官:非常棒!那你有没有处理过JVM的GC问题?...那你是怎么处理错误的? 应聘者:一般会在Axios的catch块里处理错误,或者用全局的错误拦截器。 面试官:那你能写一个全局错误拦截器的例子吗? 应聘者:当然可以。...最后一个问题,你有没有参与过微服务架构的项目? 应聘者:有,我之前在一个电商平台中参与了微服务的拆分和部署。 面试官:那你是怎么处理服务间的通信的?

    21810

    从Java全栈到Vue3实战:一场真实技术面试的深度剖析

    # 从Java全栈到Vue3实战:一场真实技术面试的深度剖析 ## 面试官与应聘者初次见面 面试官(微笑):你好,很高兴见到你。我是今天的面试官,我们今天主要聊聊你的技术背景和项目经验。...我之前在一家互联网公司负责后端服务和前端页面的开发工作,现在希望加入贵公司,进一步提升自己的技术能力。 面试官(点头):听起来不错。那你能说说你在上一份工作中最核心的技术职责是什么吗?...那你能分享一下你在该项目中最有成就感的部分吗? 应聘者(兴奋):我觉得最有成就感的是我们实现了购物车的实时同步功能。...面试官(鼓励):这确实是一个很实用的功能,也体现了你对技术的理解和应用能力。那你觉得在前后端协作过程中,最大的挑战是什么? 应聘者(思考):最大的挑战可能是前后端接口的设计和沟通。...from 'axios'; const products = ref([]); onMounted(() => { axios.get('/api/products').then(response

    19910

    从Java全栈到云原生:一位资深开发者的实战之路

    # 从Java全栈到云原生:一位资深开发者的实战之路 ## 面试官:你好,欢迎来到我们的技术面试。我是负责Java和前端方向的面试官。今天我们会围绕你的项目经验和技术能力进行深入探讨。...那你能说说你在实际项目中是如何优化GC性能的吗? **应聘者**:在之前的项目中,我们发现应用频繁出现Full GC,导致系统响应变慢。...**应聘者**:我们在设计REST API时,通常会遵循RESTful原则,使用HTTP方法(GET、POST、PUT、DELETE)来操作资源。...那在前端方面,你最常用的是哪个框架?为什么选择它? **应聘者**:我比较倾向于Vue3,因为它具有良好的性能和灵活性。...## 面试官:那你有没有参与过复杂的前端项目?能说说你的职责吗? **应聘者**:有的。在一次内容社区平台的开发中,我负责前端架构设计和组件封装。

    20910
    领券