防止 Apache 对 gzip 内容进行分块

2023-12-02

当在 Apache2 中使用 mod_deflate 时,Apache 将对 gzip 内容进行分块,设置 Transfer-encoding: chunked 标头。虽然这会加快下载时间,但我无法显示进度条。

如果我自己在 PHP 中处理压缩,我可以首先将其完全 gzip 并设置 Content-length 标头,以便我可以向用户显示进度条。

是否有任何设置可以更改 Apache 的默认行为,并让 Apache 设置内容长度标头而不是对响应进行分块,以便我不必自己处理压缩?


你也许可以玩发送缓冲区大小获得一个足够大的值以将您的响应包含在一个块中。

Then 分块内容是 HTTP/1.1 协议的一部分,您可以强制 HTTP/1.0 响应(因此不会分块:“服务器不得向 HTTP/1.0 客户端发送传输编码。”)通过设置力响应-1.0在你的 apache 配置中。但PHP 破坏了这个设置,这是 PHP 的一个长期已知的错误,有一个解决方法.

我们可以尝试修改客户端的请求,使用标头来防止分块内容,但 w3c 说:“所有 HTTP/1.1 应用程序必须能够接收和解码“分块”传输编码”,所以我认为没有像“Accept”这样的标头可以阻止服务器对内容进行分块。但是,您可以尝试在 HTTP/1.0 中设置您的请求,它实际上并不是请求的标头,而是第一行,当然应该可以使用 jQuery。

最后一件事,HTTP/1.0 缺少一件大事,“主机”标头不是强制性的,如果您使用基于名称的虚拟主机,请验证 HTTP/1.0 中的请求是否仍在使用“主机”标头。

edit:通过使用解决方法中引用的技术,您可以看到可以在 PHP 代码中调整 Apache env。这可用于仅对您的特殊 gzip 压缩内容强制使用 1.0 模式,并且您应该使用它来防止在 HTTP/1.0 中完成应用程序(或使用请求模式为您的 gzip 请求设置 HTTP/1.0)。

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

防止 Apache 对 gzip 内容进行分块 的相关文章

  • 在 CGI 模式下运行时如何覆盖 PHP 配置

    有一些教程告诉我如何在 CGI 模式下运行时覆盖 PHP 配置 但我仍然很困惑 因为很多人都认为服务器运行在 Linux 上 虽然我需要这样做also在 Windows 上 我的主机确实使用 Linux 但我的本地开发计算机使用 Windo
  • 从存储库检出代码时出现 SVN 错误 E175002

    在尝试从在线存储库中签出代码时 我收到以下错误 E175002 repos xxx svn vcc default 的报告 我正在尝试从远程计算机上签出代码 经过长时间的研究 我终于找到了一个解决方案 解决方案是allow from all
  • 我找不到 poi-ooxml-schemas 的源代码存储库

    好吧 这有点奇怪 我已经从以下位置查看了 apache poi 版本 3 9 源代码http archive apache org dist poi release src http archive apache org dist poi
  • Apache PDFBox:将最后一页移动到首页

    我正在使用 Apache PDFBox 编写一个简单的 Java 应用程序 我有几个 PDF 其中最后一页是前几页内容的索引 我需要索引 最后一页 成为PDF文件的第一页 是否可以 我还发现了http itextpdf com http i
  • onchange 使用 radioChoice 获取当前值

    我尝试使用 radioChoice onChange 从无线电表单中获取选定的值 但似乎无法真正找到解决方案 onEvent 函数被调用 但从这里我不太确定如何获取该值 Code RadioChoice
  • 我怎样才能发现并生存被“Slashdotted”?

    在异常高的流量高峰中生存的好方法是什么 我的想法是 在某些触发点上 我的网站应该暂时切换到 低带宽 模式 切换到基本 HTML 页面 最少的图形 禁用可能会给数据库带来不必要负载的小部件 等等 我的想法是 监控CPU使用率 监控带宽 监控请
  • CUDA 中的 JPEG 库

    我正在尝试在 CUDA 中压缩和解压缩图像 到目前为止我已经找到了这个库 http sourceforge net projects cuj2k source navbar http sourceforge net projects cuj
  • PHP、htaccess:在 URL 中应用页面标题

    我想在 URL 中应用页面 HTML 标题 例如 在这里 stackoverflow url 是这样的 http stackoverflow com questions 10000000 get the title of a page ur
  • Angular2通用部署到apache远程服务器

    我在将 Web 应用程序部署到 Apache 远程服务器时遇到问题 我已经通过以下步骤部署了一个使用 RESTful API 服务 用 PHP 编写 托管在 public html api 的标准 Angular2 Web 应用程序 在项目
  • Apache + Symfony2 + HTTPS + Node.js + Socket.io:socket.emit 未触发

    我花了几个小时来解决这个问题 但毫无结果 编辑 找到解决方案 参见我的答案 项目背景 我正在构建一个项目Symfony2 这需要一个用于上传大文件的模块 我选择了Node js and Socket IO 我必须从头开始学习 所以我可能会错
  • 如何使用mod_headers和mod_expires进行缓存

    我想在我的网站上缓存图像和其他文件 所以我所做的是确保 mod headers 和 mod expires 具有 usr sbin httpd l 然后将 htaccess 编辑为 ExpiresActive On ExpiresDefau
  • 将 http 和 https 请求重定向到新主机

    在 Apache 2 4 6 中 我想重定向来自http A org foo and https A org foo to https B org foo 我正在使用以下指令
  • 如何从网站网址中隐藏 .html 扩展名

    我知道这个问题以前曾被问过 但有人知道隐藏 html 扩展名的好方法吗 我已经尝试了许多代码和许多答案https stackoverflow com https stackoverflow com 但我没有看到结果 那是我再问你一次 我有一
  • 通过 CMIS (dotCMIS) 连接到 SP2010:异常未经授权

    我正在使用 dotCMIS 并且想要简单连接到我的 SP2010 服务器 我尝试用 C 来做到这一点 如下所示http chemistry apache org dotnet getting started with dotcmis htm
  • Windows 8.1 升级后 Apache 无法工作 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 今天从 Windows 8 升级到 Windows 8 1 后 Apache 不再工作 我上次从 Windows 7 升级到 Window
  • 如何在 JAVA servlet 中处理压缩 (gzip) HTTP 请求(不是响应) - 简单示例?

    我为这个问题苦苦挣扎了很长一段时间 在找到一个简单的解决方案后 想问一个问题和答案 这个问题在堆栈溢出时以不同的方式被多次提出 并且accepted solutions是partially correct and complex或谈论res
  • mod_rewrite 将 example.com/page.php?v1=abc&v2=def 重写为 example.com/abc/def

    Using Apache s htaccess文件 我正在尝试rewrite网址http example com page php v1 abc v2 def to http example com abc def 到目前为止我有 Opti
  • cakephp 无法在 Ubuntu 上进行 url 重写

    全部 这次我尝试 cakephp 但我得到了 您的服务器上的 URL 重写未正确配置 1 帮我配置它 2 我不 不能使用 URL 重写 我可以知道这是 apache 和 htaccess 问题 例如 etc apache2 sites av
  • 无法查看神经节仪表板

    我已经使用 rpm 文件进行了 ganglia 设置 OS centOS 6 3 Server httpd gmond 和 gmetad 正在运行 当我在浏览器中加载它时收到 禁止错误 Forbidden You don t have pe
  • 关于 Hadoop 和压缩输入文件的非常基本的问题

    我已经开始研究 Hadoop 如果我的理解是正确的 我可以处理一个非常大的文件 它会被分割到不同的节点上 但是如果文件被压缩 那么文件就无法分割 并且需要由单个节点处理 有效地破坏了运行一个mapreduce 一个并行机器集群 我的问题是

随机推荐

  • 正向lookbehind正则表达式明显的最大长度

    所以我一直在尝试使用正则表达式来解析以下字符串 INFO Device 6 Time 20 11 2015 06 28 00 Script FunFehlerButton Execute 0031 text and INFO Device
  • 如何在 Flutter 中隐藏 Android StatusBar

    如何在 Flutter 应用程序中隐藏 Android 状态栏 SystemChrome setEnabledSystemUIOverlays 应该做你想做的事 你可以把它带回来SystemChrome setEnabledSystemUI
  • Android 中的 SAX XML 解析

    XML 代码是
  • 在laravel中导入vue包

    在 laravel 5 6 中导入 vue 包的正确方法是什么 它预装了 vue 和 bootstrap 我看到它们都是从 public 目录编译到 app js 中的 但我可以弄清楚如何导入https github com moreta
  • Xcode“应用程序窗口预计在应用程序启动结束时有一个根视图控制器”错误

    我对此很陌生 我正在制作我的第一个应用程序 当我尝试运行它时 xcode 说它成功了 但模拟器只是给我一个黑屏 然后我收到此消息 这是我的 main m 代码 implementation ViewController synthesize
  • 获取 PHP 中常量的定义类

    我想使用反射来获取 PHP 中的类定义的常量列表 目前使用反射我可以获得常量列表 但这也包括在继承类中声明的常量 有没有一种方法我可以使用 给定一个类 仅获取该类定义的常量 给定一个常量和一个类 检查该常量是否由该类定义 不是继承或扩展的父
  • 如何防止 Eclipse 在启动时挂起?

    我正在使用 Eclipse 3 3 Europa 有时 Eclipse 需要花费非常长的时间 也许永远 来启动 我在 Eclipse 日志中唯一能看到的是 ENTRY org eclipse core resources 2 10035 2
  • 船不会发射子弹蟒蛇速成课程第二版

    您好 我将不胜感激您提供有关为什么子弹没有发射的帮助 我按照书中的所有步骤操作 但它不起作用 Bullet py文件是新编写的 settings py中的 bullet settings 也是新编写的 并且alien invasion py
  • iOS测量网页加载时间

    我搜索了很多 但找不到用 iOS 测量网页加载时间的方法 在应用程序中 我想显示特定的页面加载时间 iOS sdk 或第三方 sdk 是否可以 Thanks 您可以加载 URL 请求并使用 NSDate 来查看花费了多长时间 假设您使用 U
  • 转换为 JSON 时对象属性消失[重复]

    这个问题在这里已经有答案了 这是我的班级 export class Patient constructor public id number public name string public location string public
  • 有连续的 Future.find 吗?

    我有一些副作用功能 def f Future Int val n Random nextInt println s Generated n Future n 我想重复执行它 直到谓词返回 true def success n Int Boo
  • 访问 R 中的零元素有什么作用?

    如果我有一个向量a lt c 3 5 7 8 and run a 1 毫不奇怪我会得到 3 但如果我会跑a 0 我基本上得到numeric 0 这是什么意思 这有什么作用 出于正常原因我该如何使用它 其他人已经回答了什么x 0 确实如此 所
  • 在 Angular js 的控制器中绑定 Twitter Bootstrap datepicker 的模型值

    我正在使用 Angular js 和 Twitter Bootstrap 构建一个应用程序 HTML div div
  • 从字符串数组中提取数字

    我有一个字符串数组 scala gt tokens res34 Array String Array The value of your profile is 234 2 You have potential to gain 8 3 mor
  • 从 C# WinForms 应用程序打开 VC++ 表单时出现选项卡导航问题

    我有一个 C 应用程序 具有各种输入控件 文本框 组合框 按钮等 以及选项卡控件 在其中一个选项卡中 我嵌入了一个非托管 C 窗口 C 窗口也几乎没有输入控件 使用 Tab 键 我可以导航到 C 控件 不会出现任何问题 但是 当我在 C 窗
  • 如何使用 PHP 查找序列中缺失的值?

    假设您有一个数组 value gt timestamp 这些值随着时间的推移而增加 但可以随时重置 例如 array array 1 gt 6000 2 gt 7000 3 gt 8000 7 gt 9000 8 gt 10000 9 gt
  • 函数必须只有一个参数

    我已经很长时间没有用 C 编写代码了 我正在尝试修复一些旧代码 我收到错误 TOutputFile TOutputFile operator lt lt TOutputFile T must have exactly one argumen
  • sympy autowrap(cython):参数数量的限制,数组形式的参数?

    我有以下问题 我想使用 autowrap 生成 sympy 矩阵的编译版本 其中单元格包含 sympy 表达式 根据我的问题的具体说明 参数的数量可能会变得非常大 我遇到了以下两个问题 autowrap 接受的参数数量似乎限制为 509 即
  • 生成最多一定数量的素数列表

    我正在尝试生成 10 亿以下的素数列表 我正在尝试这个 但这种结构非常糟糕 有什么建议么 a lt 1 1000000000 d lt 0 b lt for i in a for j in 1 i if i j 0 d lt c d i 乔
  • 防止 Apache 对 gzip 内容进行分块

    当在 Apache2 中使用 mod deflate 时 Apache 将对 gzip 内容进行分块 设置 Transfer encoding chunked 标头 虽然这会加快下载时间 但我无法显示进度条 如果我自己在 PHP 中处理压缩