get和post请求的区别面试 必备

SpringBoot_SSM常见面试知识点集锦 SpringBoot_SSM中常见模块面试知识点,即maven、git、spring、springMVC、MyBatis、springBoot、Spring AOP、反射等模块。 阅读详情

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

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

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

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

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

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

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

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参数,技术上是完全行的通的。

那么,“标准答案”里的那些区别是怎么回事?

举例:

TCP就像汽车,我们用TCP来运输数据,它很可靠,从来不会发生丢件少件的现象。

但是如果路上跑的全是看起来一模一样的汽车,那这个世界看起来是一团混乱,送急件的汽车可能被前面满载货物的汽车拦堵在路上,整个交通系统一定会瘫痪。

为了避免这种情况发生,交通规则HTTP诞生了。HTTP给汽车运输设定了好几个服务类别,有GET, POST, PUT, DELETE等等,

HTTP规定,当执行GET请求的时候,要给汽车贴上GET的标签(设置method为GET),而且要求把传送的数据放在车顶上(url中)以方便记录。

如果是POST请求,就要在车上贴上POST的标签,并把货物放在车厢里。当然,你也可以在GET的时候往车厢内偷偷藏点货物,但是这是很不光彩;也可以在POST的时候在车顶上也放一些数据,让人觉得傻乎乎的。

HTTP只是个行为准则,而TCP才是GET和POST怎么实现的基本。

但是,我们只看到HTTP对GET和POST参数的传送渠道(url还是requrest body)提出了要求。“标准答案”里关于参数大小的限制又是从哪来的呢?

在我大万维网世界中,还有另一个重要的角色:运输公司。

不同的浏览器(发起http请求)和服务器(接受http请求)就是不同的运输公司。

虽然理论上,你可以在车顶上无限的堆货物(url中无限加参数)。但是运输公司可不傻,装货和卸货也是有很大成本的,他们会限制单次运输量来控制风险,数据量太大对浏览器和服务器都是很大负担。

业界不成文的规定是,(大多数)浏览器通常都会限制url长度在2K个字节,而(大多数)服务器最多处理64K大小的url。

超过的部分,恕不处理。如果你用GET服务,在request body偷偷藏了数据,不同服务器的处理方式也是不同的,有些服务器会帮你卸货,读出数据,有些服务器直接忽略,

所以,虽然GET可以带request body,也不能保证一定能被接收到哦。

好了,现在你知道,GET和POST本质上就是TCP链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。

你以为本文就这么结束了?

我们的大BOSS还等着出场呢。。。

这位BOSS有多神秘?当你试图在网上找“GET和POST的区别”的时候,那些你会看到的搜索结果里,从没有提到他。他究竟是什么呢。。。

GET和POST还有一个重大区别,简单的说:

GET产生一个TCP数据包;POST产生两个TCP数据包。

长的说:

对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);

而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。

也就是说,GET只需要汽车跑一趟就把货送到了,而POST得跑两趟,第一趟,先去和服务器打个招呼“嗨,我等下要送一批货来,你们打开门迎接我”,然后再回头把货送过去。

因为POST需要两步,时间上消耗的要多一点,看起来GET比POST更有效。因此Yahoo团队有推荐用GET替换POST来优化网站性能。但这是一个坑!跳入需谨慎。为什么?

  1. GET与POST都有自己的语义,不能随便混用。

  2. 据研究,在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。

  3. 并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。

PMSM无感foc控制(滑模-反正切-PLL)【仿真模型搭建教程】(附模型) 本文主要目的是教大家如何把文献中的公式转换成仿真模型。 首先介绍滑模控制的原理及如何搭建simulink模型。 1.1基于反电势估计位置原理 永磁同步电机在静止坐标系αβ下的电压方程: 扩展反电动势包含转子位置信息,并且αβ轴下扩展反电动势的反正切函数正好就等于位置角theta。 1.2 滑模控制原理(比较重要的点是以电机电流模型推导展开) 通过滑模观测得到鲁棒性比较高的αβ轴下扩展反电动势,并求其反正切函数,得到位置信息。 /*********************... 阅读详情

相关推荐

使用Matlab进行IEEE 33节点潮流计算的NR法实现详解及应用实例

IEEE 33节点系统是一个标准的配电系统模型,广泛用于学术研究和工程应用。该系统由33个节点和37条线路组成,结构复杂,具有代表性。其潮流计算结果可用于验证各种潮流计算方法的准确性和效率。NR法是一种基于迭代求解的潮流计算方法,通过不断迭代求解非线性方程组,直到达到预定的收敛条件。NR法具有收敛速度快、计算精度高的优点,适用于大规模复杂电力系统的潮流计算。

m0_57781768的博客 2070

面试题常问的Get与Post区别

1,区别:(1)

伟庭师兄的博客 309

全网最详细单细胞保姆级分析教程(一) ---pbmc

通过观察热图,可以了解不同细胞在主成分上的分布情况,以及主成分与细胞特征之间的关系。数据归一化是数据分析中的常见步骤,旨在消除数据集中不同特征之间的量纲差异,并使它们在相同的尺度上进行比较。函数会根据指定的主成分维度计算数据点之间的距离,并找到每个数据点的邻居。函数会根据数据点之间的相似性将其分组到不同的聚类中。数据缩放是数据分析中的常见步骤,旨在将数据的特征值调整到相似的范围,以避免某些特征对分析结果的过度影响。通过可视化维度载荷,可以了解哪些特征对主成分的形成起到了重要作用,以及不同特征之间的相关性。

ZxVSaccount的博客 6704

GET 和 POST 的区别(面试用)

坐了一下午,站了会,现在还是元气满满的小黄鸭!!!!! GET和POST是HTTP协议中的两种发送请求的方法。 HTTP的底层是TCP/IP,所以GET和POST的底层也是TCP/IP。 即GET和POST本质上就是TCP链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。 区别: GET方法提交的数据会放在URL之后,以?分割URL和传输数...

xiaolangmin的博客 2475

OpenCV透视变换实战:5分钟搞定歪斜证件照矫正(附完整代码)

本文详细介绍了如何使用OpenCV的透视变换技术快速矫正歪斜证件照,包含完整的Python代码实现。通过特征检测、坐标计算和矩阵变换三个核心步骤,5分钟内即可将手机拍摄的歪斜图像自动矫正为专业级证件照,大幅提升图像处理效率。

weixin_29094979的博客 481

SHP转TXT、TXT转SHP工具(附工具下载链接)

关于TXT,可以选择整个图层生成一个TXT。也可以勾选“每个地块单独存TXT”,然后选择一个字段,根据字段值,给每个地块生成一个TXT文件。支持选择和数据框一样的坐标系,也可以选择一个图层,工具会采用和这个图层一样的坐标系。1、TXT数据支持输入单个或者多个TXT文件,也可以直接选择TXT所在的文件夹。所有的TXT数据都生成到一个矢量数据图层。关于这一行的内容,可以在地块坐标行设置中进行设置。其他:①面节点闭合:勾选,则回到起点。属性描述:可以直接复制粘贴进来,也可以直接修改。也可以改为任意字母。

坐听风雨 4290

【Java基础】常见面试题— get请求与post请求有什么区别?

get请求其实就是通过URL来传递数据。是最常见的请求类型,常用于向服务器查询某些信息。 post请求通常用于向服务器发送想要保存的数据;提交的数据会被包含在请求体中。 ​

四季轮换叶,一路招摇胜 3124

如何评估一颗 AI 芯片的真实性能?TOPS、FPS 与 Token/sec 全解析

AI 芯片在实际部署中,其理论峰值性能往往无法反映真实执行效率。如何科学评估一颗 AI 芯片的“真实性能”,已成为芯片选型与系统集成环节中的关键技术问题。本文从工程实战角度出发,深入拆解当前常用性能评估指标(TOPS、FPS、Token/sec)背后的定义逻辑与使用陷阱,并结合推理模型部署与执行路径,系统讲解 AI 芯片在不同场景下的性能验证方法。通过对芯片算力-功耗-调度三维关系的分析,读者将掌握评估一颗 AI 芯片是否“跑得动业务”的核心判断能力。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 3383

面试题:POST和GET的区别?

总之,GET 和 POST 是 HTTP 协议中最基本的两个请求方法,GET 方式适用于数据量小、安全性要求不高的请求,而 POST 方式适用于数据量较大、安全性要求较高的请求。例如,我们在使用搜索引擎进行搜索时,通常通过 GET 请求方式将搜索关键字包含在 URL 中,而在提交表单或上传文件时,则使用 POST 请求方式将数据打包到实体数据部分中。缓存机制:GET 请求方式支持浏览器缓存机制,再次请求时可以从缓存中提取,能够提高页面加载效率,并减轻服务器压力。POST 请求方式无法被浏览器缓存。

jakelihua 231

ICT调试技巧:从基础到实战的全面指南

本文提供了一份全面的ICT调试技巧指南,涵盖从基础认知到实战应用的全过程。详细解析了ICT设备硬件结构、程序文件构成,并重点讲解了调试界面的核心参数与高效快捷键。通过跳线、电阻、电容及二极管等常见元器件的实战调试案例,分享了参数设置要点与典型问题解决方案,帮助工程师快速掌握ICT调试核心技能,提升测试效率与准确性。

weixin_29202213的博客 341

电磁仿真新手必看:如何用CST Studio Suite 2023完成第一个PCB辐射仿真?

本文详细解析了如何使用CST Studio Suite 2023进行PCB辐射仿真,适合电磁仿真新手快速上手。从工程准备、求解器配置到端口设置和后处理技巧,全面覆盖三维全波电磁场仿真软件的核心操作步骤,帮助工程师精准预测和解决PCB电磁辐射问题。

y7z8a9的博客 731

【面试必备】GET和POST两种基本请求方法的区别

GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。 你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。 当你在面试中被问到这个问题,你的内心充满了自信和喜悦。 你轻轻松松的给出了一个“标准答案”: GET在浏览器回退时是无害的,而POST会再次提交请求。 GET产生的URL地址可以被Bookma

weixin_43899069的博客 1586

多智能体强化学习MATD3算法完整复现与分析

多智能体强化学习MATD3算法复现与分析摘要 MATD3算法是多智能体深度强化学习领域的重要进展,通过改进MADDPG算法,引入双Q学习、延迟策略更新和目标策略平滑等技术,显著提升了算法稳定性。本文完整复现了MATD3算法,详细解析了其数学原理,包括部分可观测马尔可夫博弈模型和TD3核心思想。在实现层面,设计了集中式Critic和分布式Actor的神经网络架构,采用PyTorch框架构建了Actor-Critic网络模块,包含精心设计的权重初始化和训练流程。该算法有效解决了多智能体环境中的非平稳性、信用分配

max500600的博客 526

get请求可以传body吗_面试必备:GET和POST的区别详细解说

点击右上方红色按钮关注“web秀”,让你真正秀起来前言最近一些小伙伴面试都会被问到 get 和 post 的区别,很多都只能简单的说几点,今天我们就来把弄的明明白白,彻彻底底。面试必备:GET和POST 的区别详细解说标准答案我们先看一下 w3school 标准答案长什么样子面试必备:GET和POST 的区别详细解说从标准上来看,GET 和 POST 的区别如下:GET 用于获取信息,是无副作用的...

weixin_39558804的博客 1506

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

反向代理post参数怎么传输_面试必备:GET和POST的区别详细解说

点击右上方红色按钮关注“web秀”,让你真正秀起来前言最近一些小伙伴面试都会被问到 get 和 post 的区别,很多都只能简单的说几点,今天我们就来把弄的明明白白,彻彻底底。面试必备:GET和POST 的区别详细解说标准答案我们先看一下 w3school 标准答案长什么样子面试必备:GET和POST 的区别详细解说从标准上来看,GET 和 POST 的区别如下:GET 用于获取信息,是无副作用的...

weixin_35764712的博客 563

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

http原理简单解析测试工程师面试必备

网络七层协议: 网络七层协议从下到上包括:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有TCP协议与UDP协议。在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。因此,HTTP本身就是一个协议,但最终是基于TCP的,是从Web服务器传输超文本到本地浏览器的传送协议。 TCP: 传输控制协议,是一种面向连接的,可靠的,基于字节流的传输层通信协议。 UDP: 用户数据报协议,无连接不可靠的,是

lishaowei518的博客 595

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

软件测试网络面试题带答案

你好,我是小牛。 前段时间写过一篇关于数据库的面试题,各方面反响还不错,参考如下: 【面试必备篇】数据库不得不知道的那些事 今天继续来聊聊面试,今天聊一聊网络,计算机网络是大学计算机核心专业课之一,也是考研必考专业课,重要性不用多说。对于软件测试人员来说,为什么需要掌握一定的计算机网络知识呢?主要就在于接口测试,数据传输全部基于网络协议进行传输。 绝大部分的接口都是基于http协议,除此之外还有一些常见的比如webservice接口基于soap协议等等。除此之外,掌握计算机网络知识可以帮

Arrion的博客 2690

前端与移动开发----Ajax编程----请求响应过程,请求的分类,Ajax,后端接口

请求响应过程,请求的分类,Ajax,后端接口

東三城的博客 755

Java基础概念<最通俗易懂的讲解>

目录: 一、JDK 和 JRE 的区别? 二、final 与 static 的区别? 三、get和post的区别? 四、堆和栈的概念和区别 五、浅谈Java反射机制 一、JDK 和 JRE 的区别? JDK:java development kit (jav...

chetianyao8457的博客 769

JavaWeb 核心:Request 与 Response 对象全解析与实战

本文全面解析了JavaWeb开发中的HttpServletRequest和HttpServletResponse对象。主要内容包括:1) Tomcat请求响应模型,request用于获取客户端数据,response用于返回响应;2) request核心功能:获取请求信息、请求头、参数(单值/多值)及中文乱码处理;3) response核心功能:设置响应头、状态码、响应正文及中文乱码解决方案;4) 重点对比了请求转发(forward)和重定向(redirect)的区别及适用场景;5) 提供了学习目标

Daisy0304的博客 565

65道常问前端面试题总结react

65道常问前端面试题总结react

Front end development engineer 3248

面1

https://zhuanlan.zhihu.com/p/84212558 1.说一下盒模型 2.画一个三角形? 3.清除浮动的几种方式,及原理? 4.说一下<label>标签的用法 5.页面渲染html的过程? 6.说一下CORS? 7.如何中断ajax请求? 8.说一下事件代理? 9.target、currentTarget的区别? 10.说一下继承的几种方式及优缺点? 11.说一下闭包? 12.export和export default的区别? 13.说一下自己常

zwbHUST的博客 168

GET 和 POST 请求:理解它们之间的区别和适用场景

💡 本文将带你深入了解 GET 和 POST 请求的概念、区别以及适用场景。掌握这两种 HTTP 方法的特性,将有助于你在前端开发中更合理地处理数据传输。本文介绍了 GET 和 POST 请求的概念、区别以及适用场景。掌握这两种 HTTP 方法的特性,将有助于你在前端开发中更合理地处理数据传输。在实际应用中,我们需要根据操作的性质和数据的安全性要求,选择合适的请求方法。

你若盛开,清风自来 1419

探索 HTTP 请求的世界:get 和 post 的奥秘(下)

GET 请求和 POST 请求是 HTTP 协议中用于客户端与服务器之间通信的两种主要方法。作用:用于从服务器获取数据。获取网页内容:当你在浏览器中输入一个 URL 时,浏览器会发送一个 GET 请求来获取该网页的内容。查询数据:使用 GET 请求从服务器查询数据,例如获取产品信息、搜索结果等。缓存友好:GET 请求的响应可以被缓存,因此对于一些静态资源(如图像、CSS 文件、JavaScript 文件等),使用 GET 请求可以提高性能。作用:用于向服务器提交数据。

你若盛开,清风自来 1826

python中post和get的区别

一般出现在面试题当中: 参数的位置不同: GET: 参数一般位于你所输入的URL后面 POST: 参数一般位于请求体当中 数据的长度不同 GET : 长度具有限制 POST: 长度理论上没有限制,但是实际上取决于你使用的服务器的处理能力,可能出现误差 安全性能...

blue_lll的博客 3453
上一篇: MySQL---Redis--MongoDB数据库的区别与特点
下一篇: MongoDb数据库基础知识----以及安装步骤
Mis相遇
博客等级 码龄8年 87粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值