GET与POST的区别

2023-11-02

网络基础——GET请求与POST请求的区别

前言:

       一般来说,GET请求是获取数据,POST请求是提交数据的。如下,主要是出自w3school官网总结,加上本人的一点提炼。

不同点 GET POST 分析备注
幂等性 幂等,是无害的 不幂等 幂等性,可以理解为,多次重复发送同一请求,结果是一样的。
缓存 能被缓存 不能被缓存 对请求的数据做缓存:1、缓存在浏览器,直接获取数据,无需发送请求;2、缓存在代理(nginx),请求发到代理,由代理提供数据,减轻服务器压力;3、缓存在服务端,减少解析数据的带宽消耗,类似zero-copy给客户端。
安全性 相对更低 相对高一点

1、首先,http中的get、post的安全性都不高,因为http协议是明文传输的,想要提高安全性,必须采用加密的https;

2、GET传输数据的时候是在URL地址中的、对所有人都是是可见的,且是有浏览器缓存记录的;而post传输的时候是放在HTTP的请求体之中,并且是经过urlencode编码的。因此相对更安全。

传输效率 相对更快 相对更慢

1、get是在三次握手后,直接发请求,返回响应数据;

2、post是分请求header和body的,服务器解析heade和body都是需要消耗资源的,但有些请求是无效的,所以服务器会有些策略,让浏览器先发header,然后解析header,判断允许不允许浏览器继续发body(100continue),然后浏览器再次发body,最后浏览器得到想要的响应数据。因此,等于是post多了一个通讯的来回,当然更耗时。

数据长度、类型的限制 GET往URL添加数据时,长度限制是2048个字符;get请求只允许ASCII码值 长度没有限制;类型也没有限制 其实,get请求中的URL如果带有非ASCII码数据,发请求前会转成ASCII码
编码格式 application/x-www-form-urlencoded application/x-www-form-urlencoded等多重编码格式 在抓包时,也要关注content-type
历史记录 参数保留在浏览器的历史记录中 参数不会保留在浏览器的历史记录 参照安全性的不同
可见性 请求数据显示在URL中,所有可见 请求数据在BODY中,不可见 参照安全性的不同

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GET与POST的区别 的相关文章

随机推荐

  • 人工智能在线特征系统中的数据存取技术

    主流互联网产品中 不论是经典的计算广告 搜索 推荐 还是垂直领域的路径规划 司机派单 物料智能设计 建立在人工智能技术之上的策略系统已经深入到了产品功能的方方面面 相应的 每一个策略系统都离不开大量的在线特征 来支撑模型算法或人工规则对请求
  • linux 文件句柄数查看命令

    当你的服务器在大并发达到极限时 就会报出 too many open files 查看线程占句柄数 ulimit a 输出如下 core file size blocks c 0 data seg size kbytes d unlimit
  • 微服务知识点整理

    1 Spring Cloud Netflix和Spring Cloud Alibaba包括哪些组件 Spring Cloud Netflix 主要由 Eureka Ribbon Feign Hystrix Zuul Gateway Conf
  • map的内存释放

    map在erase和clear后是否会马上释放内存 参考链接 关于c 中map的内存占用问题 原文 原文提到map在erase和clear后不会立马释放内存 而是采用类似内存池的机制 对申请的内存进行 预留 在一段时间内不使用才会予以 释放
  • AndroidUI-约束布局ConstrainLayout

    参考资料 约束布局ConstraintLayout看这一篇就够了 https www jianshu com p 17ec9bd6ca8a 约束布局ConstrainLayout 约束布局的出现主要是为了解决试图层级嵌套过多的情况 它可以在
  • Android 加解密类Cipher

    近日在做一个关于短信及文件加解密的小项目 查看了一些Android加解密方面的知识 关于加解密这部分以前完全没有接触过 所以网上乱翻了一天对于什么DES AES RSA BASE64 MD5之类的还是懵懵懂懂 这里也就不再来说它们的原理了
  • layui的穿梭框

    首先引入CSS样式和Jquery Layui插件 Html部分只有一个fieldast标签和一个设置了ID的div标签 Jq部分直接开启layui中的渲染 然后设置属性值 最主要的是elem属性 输入ID值对当前ID的div进行渲染 最后设
  • 42 最佳实践-性能最佳实践-halt-polling

    文章目录 42 最佳实践 性能最佳实践 halt polling 42 1 概述 42 2 操作指导 42 最佳实践 性能最佳实践 halt polling 42 1 概述 在计算资源充足的情况下 为使虚拟机获得接近物理机的性能 可以使用h
  • 使用Formail发送html格式的中文主题邮件,解决乱码问题等

    查了很多资料都没有很好的解决发送中文主题的html格式的邮件 要解决的乱码问题 经过摸索 最后终于搞定 且可使用shell脚本 实现多收件人发送相对比较简单 使用formail发送html格式的邮件 邮件正文内容为html的网页内容 支持更
  • docker平台中常用的镜像,容器,和数据卷操作指令

    docker平台中常用的镜像 容器 和数据卷操作指令 卸载Docker sudo yum remove docker ce docker ce client docker client latest docker common docker
  • 对于glm模型summary()输出的汇总结果

    对于glm模型summary 输出的汇总结果 如何解读是非常重要的 它直接影响得出的结论 例如下面这样一个输出结果 该如何理解呢 Call glm formula bl I family gaussian data anaData Devi
  • 想入门自学编程,应该怎么开始?

    自学编程学习方法永远都不是重点 学习方法 学习路线基本千篇一律 大同小异 每个人或多或少都能总结几条 但是自学者的心里建设谁去指导 如果一个人没有实践过的真实自学编程经历 自学的感受和经验是总结不出来的 私以为 感受和经验才是自学者关注的重
  • RTX3090(4090) 与pytorch版本对应关系

    在RTX 3090 上判断 当前版本的的torch版本是否可以用 一般需要通过如下方式 conda activate torch1 8 1 激活相关的虚拟环境 python 进入python 环境 import torch 导入torch
  • 二进制中1的个数(java)

    一 问题描述 输入一个整数 输出该数二进制表示中1的个数 其中负数用补码表示 二 算法分析 方案一 任何一个十进制整数在机器上存储的都是二进制形式 如果该数为整数 则存储的就是该数的二进制形式 如果该数为负数 则存储的就是该数的二进制补码形
  • 黑马程序员_Java基础视频-深入浅出精华版--视频列表

    day01 avi 01 01 计算机基础 计算机概述 avi day01 avi 01 02 计算机基础 计算机硬件和软件概述 avi day01 avi 01 03 计算机基础 软件开发和计算机语言概述 avi day01 avi 01
  • 迭代需求文档规范(模板)

    注意 此模板仅适用于迭代需求 不适合新的产品或大的需求 消费分期迭代需求 详细设计说明书 XX集团有限公司 2020年8月 声明 文档控制 更改记录 日期 修改人 版本 更改参考 8月18日 XXX V1 0 输出详细设计 审阅 姓名 职位
  • HttpServletResponse和HttpServletRequest中的一些方法

    responce的一些方法 HttpServletResponse 简称Response 其父类型是 ServletResponse 1 Response用于处理服务器到客户端的响应 其内部有一个缓冲 用来保存响应信息 2 ServletR
  • pip install清华镜像源

    pip install i https pypi tuna tsinghua edu cn simple xxx 使用方法 1 将这段话复制到你虚拟环境下 2 将xxx改成你需要的包的名字 3 按Enter
  • Linux进程管理-实时调度

    linux进程管理 实时调度 知乎
  • GET与POST的区别

    网络基础 GET请求与POST请求的区别 前言 一般来说 GET请求是获取数据 POST请求是提交数据的 如下 主要是出自w3school官网总结 加上本人的一点提炼 不同点 GET POST 分析备注 幂等性 幂等 是无害的 不幂等 幂等