为什么浏览器无法发送gzip请求?

2023-11-21

如果网络服务器可以发送 gzip 响应,为什么浏览器不能发送 gzip 请求?


客户端和服务器必须就如何通信达成一致;其中一部分是通信是否可以被压缩。 HTTP 被设计为请求/响应模型,最初的创建几乎可以肯定地设想总是有小请求和潜在的大响应。压缩不是required要实现HTTP,有服务器和客户端都不支持它。

HTTP 压缩是由客户端实现的,表示它可以支持压缩,如果服务器在请求中看到这一点并且它支持压缩,则可以压缩响应。要压缩请求,客户端必须有一个“预请求”,该“预请求”实际上协商请求将被压缩,或者必须要求压缩作为所有请求的受支持编码。

* 2017 年 2 月更新 *已经过去 8 年了,但正如 @Phil_1984_ 指出的,第三种可能的解决方案是客户端和服务器协商压缩支持,然后将其用于后续请求。事实上,像 HSTS 这样的东西就是以这种方式与客户端缓存一起工作的,服务器期望只使用 TLS 并忽略任何未加密的链接。 HTTP 被明确设计为无状态的,但我们现在已经超越了这一点。

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

为什么浏览器无法发送gzip请求? 的相关文章

  • 对过期会话进行休息调用:HTTP 401 响应导致浏览器显示登录窗口

    我编写了一个 HTML 5 应用程序 它使用 AngularJS 并与在 Tomcat 上运行的 Java REST 后端进行交互 我使用 Spring Security 来处理登录和安全性 当用户进入网站时 他将被转发到登录页面 该页面创
  • 删除 servlet 中的 cookie 时出现问题

    我尝试使用以下代码删除 servlet 中的 cookie Cookie minIdCookie null for Cookie c req getCookies if c getName equals iPlanetDirectoryPr
  • 为什么使用HTTP协议时需要指定端口号?

    即使我们使用HTTP协议 为什么还需要用IP地址指定端口号 例如 http xyz 8080 这到底是什么意思 我们已经知道 在使用 HTTP 时 请求将在端口 80 上提供服务 那么为什么我们要显式指定端口呢 HTTP 的默认端口为 80
  • 防止拖动不可拖动元素时出现重影?

    我正在创建一个利用 HTML5 拖放 API 的网站 但是 为了增加用户体验 我想在用户拖动不可拖动元素时防止出现重影 这可能吗 此外 几乎每个元素似乎 可拖动的 默认情况下 人们可以单击然后快速拖动浏览器中的几乎任何元素 这会创建一个重影
  • 如何在java中压缩/解压tar.gz文件

    谁能告诉我在java中压缩和解压缩tar gzip文件的正确方法我一直在搜索 但我能找到的最多的是zip或gzip 单独 我写了一个包装器公共压缩 http commons apache org compress called jarchi
  • 按照约定应返回哪些 REST PUT/POST/DELETE 调用?

    根据 REST 意识形态 PUT POST DELETE 请求的响应正文中应该包含什么 返回码呢 是HTTP OK enough 如果有的话 这种约定的原因是什么 我发现了一篇描述 POST PUT 差异的好文章 发布与放置 http ww
  • 将 HttpApi 与 I/O 完成端口结合使用

    我刚刚偶然发现了微软的HTTP 服务器 API http msdn microsoft com en us library aa364510 28v vs 85 29 aspx 简介中写道 HTTP 服务器 API 使应用程序能够通过 HT
  • MPMoviePlayerController 播放 YouTube 视频

    如何在 iPhone 上的 MPMoviePlayerController 中播放 YouTube 视频 同时避免进入全屏模式 这个问题已经在这里提出 MPMoviePlayerController 正在播放 YouTube 视频吗 htt
  • 如何增加asp classic的请求接受限制

    我从java小程序向asp classic发送post请求 我在此请求中发送非常大的数据 即 csv 数据 当此请求中的字符数增加并超过 138000 时 asp 不接受该请求 java 小程序给出 500 错误 所以有人可以告诉我如何才能
  • 使用特定 HTTP 方法链接到页面 (DELETE)

    如何像 Rails 那样链接到页面并让浏览器使用 DELETE 方法调用它 我试过 a href DELETE ME a 但不起作用 我使用 Node js 所以我可以用它来处理 DELETE 方法 你不能 链接只会触发 GET 请求 您可
  • 在 iOS 中,http 204 响应返回空白页面,有办法阻止这种情况吗?

    以前可能有人问过这个问题 但我似乎找不到解决方案 所以如果是这种情况 我深表歉意 我正在开发一个使用express的简单节点应用程序 其中一个帖子路由返回 http 204 并发送它 下面是我的代码 router post id funct
  • 如何将 OTF/TTF 文件转换为 EOT 格式?

    我需要使用 font face 功能 并且我的字体是 OTF TTF 格式 而 Microsoft 浏览器仅支持 EOT 格式 我尝试使用微软工具WEFT 但它不起作用或者我不明白它是如何工作的 还有其他方法可以将我的字体转换为 EOT 格
  • HttpWebRequest vs Webclient(特殊场景)

    我知道这个问题之前已经回答过thread https stackoverflow com questions 1694388 webclient vs httpwebrequest httpwebresponse 但我似乎找不到详细信息 在
  • python 2.7 中的 HTTP 2 请求

    在 python 中向 HTTP 1 和 HTTP 2 发出请求有什么区别吗 我可以像这样在 python 中进行 HTTP 1 x 调用 url http someURL values param1 key param2 key2 dat
  • AJAX 发送数据到 Node.js 服务器

    我尝试使用 AJAX 将数据发送到 Node js 服务器 但不断遇到同样的问题 即接收问题 这是客户端 JavaScript AJAX 代码 var objects function return new XMLHttpRequest f
  • 用 C++ 解析 HTTP 标头

    我正在使用curl 与服务器通信 当我发出数据请求时 我收到 HTTP 标头 后跟由边界分隔的 jpeg 数据 如下所示 我需要解析出 边界字符串 内容长度 我已将传入数据复制到 char 数组 如下所示 static size t OnR
  • 在 Web 浏览器中禁用 F5 [重复]

    这个问题在这里已经有答案了 可能的重复 禁用浏览器的后退按钮 https stackoverflow com questions 961188 disable browsers back button 如何禁用浏览器上的 F5 刷新 htt
  • 从 PCAP 嗅探重建数据

    我试图通过 libpcap 嗅探 HTTP 数据 并在处理 TCP 有效负载后获取所有 http 内容 标头 有效负载 根据我的讨论编写 http 嗅探器 或任何其他应用程序级嗅探器 https stackoverflow com ques
  • 使用 Unity 在 C# 中发送 http 请求

    如何使用 Unity 在 C 中发送 HTTP GET 和 POST 请求 我想要的是 在post请求中发送json数据 我使用Unity序列化器 所以不需要 新的 我只想在发布数据中传递一个字符串并且能够 将 ContentType 设置
  • 使用 flash 或 java servlet 将麦克风数据从浏览器上传到服务器的教程? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 There was a question on how to get data from a microphone on a client

随机推荐

  • JWT 中的复杂声明

    The JWT RFC包含复杂数组似乎没有任何问题 例如 email email protected businesses businessId 1 businessName One roles admin accountant busin
  • 将 swift 可变参数公开给 Objective-C

    我目前正在开发一个快速动态框架 它将用于 Objective C 应用程序 我创建了这个方法 签名 public init buttons ActionButton code 然而 这个方法永远无法从使用该框架的 Objective C 应
  • 如何检查 Java 代码的汇编输出?

    我发现这个问题可以回答 C 的问题 如何从 gcc 中的 C C 源代码获取汇编程序输出 Java uses both bytecode and assembly language machine code It s a two step
  • 将参数从刚刚单击的 添加到 URL

    该场景是很多 html 文件 它们之间有很多链接 当我调用其中第一个 它将是索引 时 链接通过 URL 传递几个参数 我们可以将它们称为首选项 现在我希望 当单击页面的几个链接中的任何一个时 将添加这些参数 所以这个问题与其他问题类似 如何
  • 将 XML 映射到 Java 中的对象

    假设我有一个名为Test 像这样 public class Test private String testId private String description private String department public Tes
  • Facebook Messenger 应用程序链接 [iOS]

    我正在创建一个 iOS 应用程序 我想在其中集成 Facebook Messenger 以便用户互相发送消息 我尝试过通过 fb messenger user thread user id 进行深度链接 它按预期工作 当我通过应用程序打开
  • Android-广播接收器和意图过滤器

    我是 android 平台的新手 请帮助我了解广播接收器和意图过滤器在 android 中的行为方式 请用简单的行或示例进行解释 提前致谢 广播接收器是 Android 项目中的一个类 负责接收其他活动通过使用发送的所有意图android
  • #define 指令中的 Inno Setup 字符串连接

    Inno Setup 网站是否未能记录 define指令还是我在某个地方错过了 是否允许使用已定义的字符串进行定义并将它们连接起来 define MyApp ABC define MyAppVersion 1 2 1 define MyFo
  • PHP / SQLite - 将表从磁盘复制到内存

    我的硬盘上有一个 sqlite3 数据库 file db 有 5 个表 我想将其中 3 个表复制到内存数据库 memory 有没有一种简单的方法可以使用 PHP5 的 PDO 格式来做到这一点 不是特定于 pdo 的解决方案 对于您的情况可
  • Windows 是否有集成的内置 C/C++ 编译器包?

    我希望能够在 Windows 环境下编译 C 和 C 代码 而无需使用 IDE 只需使用 Windows 命令提示符 cmd exe 即可 我来自 Linux 您可以在其中安装gcc只需在终端中使用命令即可打包 sudo apt insta
  • 如何禁用动态频率缩放?

    我想做一些微基准测试 并尝试做正确的事情 不幸的是 动态频率缩放使得基准测试非常不可靠 有没有办法以编程方式 C Windows 查明是否启用了动态频率缩放 如果 可以在程序中禁用它吗 我尝试在实际基准测试发生之前使用 100 CPU 的预
  • 无论线条大小如何保持线型间距恒定

    当尺寸不同时 我一直尝试在 ggplot2 或网格中绘制线段之间具有相等间距的线 但是我没有成功 所以我请求你的帮助 在下面的示例中 如何在线条尺寸不同的情况下保持线段之间的绝对间距相等 我想避免定制makeContent myclass我
  • 如何在smarty模板中解析/解码JSON对象?

    我的模板文件中有以下代码 foreach from items item entry pre entry gt nb persons print r pre foreach 输出是 json 字符串 ip 12 12 12 12 date
  • Laravel 喜欢 Eloquent 的数组值吗?

    如何进行 Like 查询并搜索多个值 searchWords explode Input get search 然后我得到了用于搜索的一组单词 我怎样才能通过它 pages Page where content LIKE singleWor
  • 自动批准评论插件中的所有评论

    有没有办法自动批准并默认公开所有评论插件的评论 另外 我真的需要知道这些评论是在什么基础上进行审核的 在某些页面上 它们默认是公开的 而在其他页面上 它们最终会进入审核队列 更新 0 我删除了脸书 管理员 审核 UI 消失 但审核仍然有效
  • 使用 Zend Framework 安全地运行 Cron 作业

    我看过很多关于 cron 和 ZF 的帖子 但大多数解决方案都让工作可以由公众触发运行 如果你想设置一个只能由 cron 运行的操作怎么办 不是由某个匿名用户也不是由必须登录的人 我使用的解决方案涉及将一个文件放在我的 Web 根目录之外
  • 在 Javascript 中播种随机数生成器

    是否可以为随机数生成器提供种子 Math random 在 JavaScript 中 不 不可能播种Math random The ECMAScript 规范故意在这个主题上含糊其辞 不提供播种方式 也不要求浏览器使用相同的算法 所以这样的
  • 提交前获取应用程序的 iTunes 链接

    我在另一篇文章中读到 您可以在没有二进制文件的情况下提交应用程序 但根据我所看到的 这不再可能 看来没有二进制文件就无法提交 并且二进制文件是通过应用程序加载器提交的 在提交二进制文件之前 还有其他已知的方法可以获取指向我的应用程序的 it
  • 我不明白 sigma 表示法和 for 循环

    我有一本书说 并说这相当于说 for i 1 i lt N i Sum i 它进一步说利用这个简单的公式 因为 最大值 最小值 1 它说将其更改为 C 代码将是 for k j k lt 1 k Sum k 但是 我真的无法理解这一点 谁能
  • 为什么浏览器无法发送gzip请求?

    如果网络服务器可以发送 gzip 响应 为什么浏览器不能发送 gzip 请求 客户端和服务器必须就如何通信达成一致 其中一部分是通信是否可以被压缩 HTTP 被设计为请求 响应模型 最初的创建几乎可以肯定地设想总是有小请求和潜在的大响应 压