防止 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 内容进行分块 的相关文章

  • 使用 HTTPS 时我需要/想要 gzip 压缩吗?

    使用 HTTPS 是否已经包含 透明 内容压缩 或者我是否仍然应该担心与浏览器协商是否压缩我的 Servlet 输出 如果 HTTPS 已经有压缩 是无条件的还是需要配置 协商 启用 默认情况下 TLS 不启用压缩 但它 压缩 是在 TLS
  • 缓冲后台输入流实现

    我已经写了背景InputStream and OutputStream 包装其他流并在后台线程上预读的实现 主要允许在处理解压缩流的不同线程中进行解压缩 压缩 这是一个相当标准的生产者 消费者模型 这似乎是一种利用多核 CPU 的简单方法
  • .htaccess 如果 URL 错误,请执行某些操作

    我正在做我的个人CMS http en wikipedia org wiki Content management system 我想在其中使用很酷 友好 的 URL 这是我的 htaccess 文件代码 RewriteEngine on
  • 无法分配内存:fork:无法创建新进程?

    我们的托管在aws 最近 我们的博客从wordpress to aws 我们遇到服务器响应时间明显延迟的情况 主要是在访问博客时 以下是来自error log file Wed Feb 25 06 10 10 2015 error 12 C
  • php 无法连接到 mysql,错误为 13(但命令行可以)

    我在新安装的服务器中遇到了奇怪的情况 谷歌这次似乎无法帮助我 我无法从我的 php 代码连接到 远程 mysql 当我尝试从同一服务器上的命令行连接时 连接成功 无法连接 无法连接到 MYSQL SERVER 上的 MySQL 服务器 13
  • 将具有子目录的域转发到具有子目录的其他域

    我有一个热爱域名的客户 更喜欢转发域名 其中许多域没有与其关联的网站 它们仅用于营销和转发 我知道如何轻松地将一个域转发到另一个域 但我好奇的是如何将这些域的特定 url 转发到其他特定 url 例如 www site1 com 目录 gt
  • 在通过网络发送之前压缩位图

    我正在尝试通过网络发送位图屏幕截图 因此我需要在发送之前对其进行压缩 有一个库或方法可以做到这一点吗 当您将图像保存到流时 您have选择一种格式 几乎所有位图格式 bmp gif jpg png 都使用一种或多种压缩形式 因此 只需选择适
  • 在 .htaccess 中更改什么以使其停止显示子域

    我有这个 RewriteEngine on RewriteCond HTTP HOST m myurlname com RewriteCond HTTP USER AGENT safa NC RewriteRule http m myurl
  • 在 PHP 中使用 Curl 将获取字段附加到 URL

    我可以使用 Curl 执行服务器端和客户端重定向 但无法通过 get 请求将 GET 字段附加到 URL 这是我的代码 post curl init curl setopt post CURLOPT URL url curl setopt
  • 从 AJP 连接器请求中检索 Shibboleth 属性

    当我在 Apache 上运行 Shibboleth 身份验证时遇到了一个奇怪的问题 当 Tomcat7 在后端运行时 Apache 通过 mod proxy ajp 发送所有内容 Shibboleth 的参数也是如此 In the 文档 h
  • 如何使用 GCP 负载均衡器将 HTTP 重定向到 HTTPS

    我正在 GCP 中使用 2 个节点 Apache httpd 设置负载均衡器 域为 lblb tonegroup net 目前我的负载均衡器工作正常 流量正在两个节点之间切换 但我如何配置重定向http lblb tonegroup net
  • 当 PHP 认为合适时让 apache 处理 404 错误?

    我完全知道如何在 PHP 中创建自定义 404 页面 但是我想知道是否有一种方法可以将控制权交还给 apache 并让它生成正确的 404 页面 发送正确的标头等 当我的逻辑是这样的时候 我正在看一些apache特定的功能 http php
  • 根据 apache 环境变量,有条件地要求 HTTP 身份验证

    我的托管有我的站点的多个部署 开发 阶段 生产 当且仅当它们设置的环境变量等于 dev 时 如何在我的 htaccess 文件中添加 HTTP Auth 标头 这意味着他们设置了一个名为 SITE ENVIRONMENT 的变量 该变量可以
  • Deflate 压缩 - 数值示例

    我真的很想看看一个数字示例 手动压缩如何进行压缩 以下非常短的文本 abc 已使用 deflate 算法进行压缩 输出 eJxLTEoGAAJNASc 其二进制表示法为 01100101 01001010 01111000 01001100
  • Apache 未从 XAMPP 控制面板运行(错误:Apache 意外关闭。这可能是由于端口被阻止)

    我已在 Windows 7 上成功安装 XAMPP xampp win32 1 8 2 0 VC9 installer exe 但不幸的是 在从XAMPP控制面板运行Apache时发现以下错误 5 38 38 PM Apache Error
  • 如何使用org.apache.commons包?

    在各种网络示例中 我看到了导入 例如 import org apache commons net ftp FTPClient 我不明白如何使用这些 而且 apache 网站也相当不清楚 我该如何使用这些类 我希望我需要下载一些东西 但如果有
  • .htaccess 301 将所有 https 重定向到 http(一页除外)

    这是我当前在 htaccess 文件中的代码 Options FollowSymLinks RewriteEngine on RewriteBase RewriteCond HTTP HOST example com NC RewriteR
  • HTTP KeepAlive 连接已被服务器关闭,但客户端同时发送了请求

    场景如下 有一个 http 反向代理 它有一个与应用程序服务器的持久连接池 它已收到客户端的请求 并在检查连接打开后向后端发出相同的请求 同时 服务器在收到请求之前关闭连接 代理失败 从后端读取错误 错误被发送到客户端 应如何处理这种竞争条
  • 将压缩的json数据存储在本地存储中

    我想将 JSON 数据存储在本地存储中 有时存储的数据可能超过 5MB 每个域的浏览器允许的最大阈值 无论如何 我可以压缩或压缩数据并将其存储在本地存储中吗 如果对大数据进行每个 JS 函数的压缩和解压 会增加多少延迟 我正在使用这个 js
  • VirtualHost 在 Ubuntu 14.04 上始终返回 Apache 的默认主机

    我尝试设置默认虚拟主机之外的虚拟主机localhost 每当我尝试呼叫我的虚拟主机时http test我得到了位于目录中的默认 Apache2 索引文件http localhost 此外 apache 在禁用后仍然返回此页面 a2dissi

随机推荐

  • 正向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 中处理压缩