Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >以编程方式设置Jetty GzipHandler

以编程方式设置Jetty GzipHandler
EN

Stack Overflow用户
提问于 2014-07-01 17:08:08
回答 3查看 9.4K关注 0票数 7

我正在使用Jetty GzipHandler,它的工作方式似乎很奇怪:它只压缩已经压缩的文件。

我的整个计划是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
GzipHandler gzipHandler = new GzipHandler();
gzipHandler.setHandler(myHandler);
server.setHandler(gzipHandler);

浏览器(铬)总是发送一个包含

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Accept-Encoding:gzip,deflate,sdch

所以根据文件

GZIP这个处理程序将gzip响应的内容,如果:

  • 过滤器映射到匹配路径。
  • 响应状态代码为>=200和<300
  • 内容长度未知或大于minGzipSize initParameter或minGzipSize为0(默认)
  • 内容类型位于mimeTypes initParameter中以逗号分隔的initParameter列表中,或者如果没有定义mimeTypes,则内容类型不是"application/gzip“。
  • 资源没有指定任何内容编码。

这对两个人都有好处。我只是不确定path部分,但是没有指定任何部分,我希望两者都能工作,或者两者都不起作用。

我用window.location.reload(true)来强制重新装填。标题相当长,所以我要链接它们:csspng

我试过设置一些属性,但没有成功。如果我找到jetty-servlets-9.1.3.v20140225-sources.jar,我将调试它。问题是:为什么GzipHandler决定只压缩压缩的文件?它是完全确定的:jpgpng被压缩(不管有多小),没有其他文件可以压缩。

更新

通过setMimeTypes,我可以排除这些图像。我调试了它,我仍然不知道为什么其他静态资源从未被压缩。我再次检查了myHandler是否一致地对待它们(它们都直接从预先计算的Map<String, byte[]>中得到服务)。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-08-05 04:34:59

我们可以使用GzipFilter并实现这一结果。GzipFilter的Jetty文档提供了许多细节支持的参数列表。若要以编程方式启用它,请使用把这个问题提出来

GzipFilter基本上是一个服务器端过滤器,在处理压缩需求方面非常有效。

样本滤波器配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<filter>
 <filter-name>GZipFilter</filter-name>
 <display-name>Jetty's GZip Filter</display-name>
 <description>Filter that zips all the content on-the-fly</description>
 <filter-class>org.mortbay.servlet.GzipFilter</filter-class>
 <init-param>
  <param-name>mimeTypes</param-name>
  <param-value>text/html</param-value>
 </init-param>
</filter>

<filter-mapping>
 <filter-name>GZipFilter</filter-name>
 <url-pattern>/*</url-pattern>
</filter-mapping>
票数 2
EN

Stack Overflow用户

发布于 2016-03-08 07:13:15

下面是如何在Jetty9.3.7中配置GzipHandler:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
GzipHandler gzipHandler = new GzipHandler();
gzipHandler.setIncludedMimeTypes("text/html", "text/plain", "text/xml", 
            "text/css", "application/javascript", "text/javascript");
gzipHandler.setHandler(myHandler);
handlerList.addHandler(gzipHandler);

在这种情况下,myHandlerResourceHandler的一个实例。默认情况下,Gzip Handler只使用200范围内的响应代码对GET请求进行Gzip响应。

票数 11
EN

Stack Overflow用户

发布于 2018-12-16 18:27:24

对于下一个用户,下面是如何启用请求解压缩,其中handler是扩展org.eclipse.jetty.server.handler.AbstractHandler的一个类。请求解压缩的重要部分是includeMethods (默认为GET )和inflateBuffer (需要大于0,但默认为0)。“守则”:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    //create server using given threadpool
    Server server = new Server(8080);

    GzipHandler gzipHandler = new GzipHandler();
    gzipHandler.setIncludedMethods("PUT", "POST", "GET");
    gzipHandler.setInflateBufferSize(2048);
    gzipHandler.setHandler(handler);
    server.setHandler(gzipHandler);

    server.start();
    server.join();
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24521426

复制
相关文章
TLS协议分析 (三) record协议
record协议做应用数据的对称加密传输,占据一个TLS连接的绝大多数流量,因此,先看看record协议 图片来自网络:
用户8964349
2021/09/06
1.4K0
TLS握手协议详解
握手协议是TLS握手协议的一部分,负载生成共享密钥以及交换证书。其中,生成共享密钥是为了进行密码通信,交换证书是为了通信双方相互进行认证。
用户9407507
2022/02/16
1.3K0
TLS协议学习笔记
说起TLS(Transport Layer Security 传输层安全协议),可能有点陌生,但是说起HTTPS,大家应该都知道,我们现在浏览网页基本上都是HTTPS的。HTTPS就是加密的HTTP,HTTP基于明文传播,直接使用HTTP的话内容很容易被窃取。HTTPS则对内容进行了一层加密,避免了内容被窃取和篡改的可能性,如下图所示。
roper
2018/07/02
2.4K1
TLS协议学习笔记
mqttnet 详解_mqttnet3.0用法
1 ///开源库地址:https://github.com/chkr1011/MQTTnet
全栈程序员站长
2022/09/12
1K0
图解TLS握手连接
SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。
半月弧
2020/03/03
5.4K0
图解TLS握手连接
TLS协议分析 (四) handshake协议概览
TLS 1.3对握手做了大修改,下面先讲TLS 1.2,讲完再介绍一下分析TLS 1.3.
用户8964349
2021/09/07
1.5K0
TLS协议分析 (六) handshake协议扩展
在 ChangeCipherSpec 消息之后,应该立即发送 Finished 消息,来确认密钥交换和认证过程已经成功了。ChangeCipherSpec 必须在其它握手消息和 Finished 消息之间。
用户8964349
2021/09/07
1.3K0
DTLS协议介绍,Udp协议基于TLS
UDP协议是不面向连接的不可靠协议,且没有对传输的报文段进行加密,不能保证通信双方的身份认证、消息传输过程中的按序接收、不丢失和加密传送。
Kunkka Wu
2022/01/13
3.1K0
DTLS协议介绍,Udp协议基于TLS
mqttnet 详解_mqttnet 简记
1.mqttnet开源库,https://github.com/chkr1011/MQTTnet
全栈程序员站长
2022/09/12
3K0
MQTTnet[通俗易懂]
近期学习了一下物联网中应用较广的MQTT协议,同时使用MQTTnet开源类库做了简单实现,因此做下笔记。 环境:.NET Framework 4.6.1 MQTTnet 2.8.2.0 遵循MQTT 3.1.0协议规范 源码 >>> GitHub 注意:在实现订阅者离线再连接时,一直接受不到离线信息,需要做一下配置
全栈程序员站长
2022/09/12
7970
mqttnet 详解_MQTT MQTTnet 实现
│ │ ├── MQTTServer.runtimeconfig.dev.json
全栈程序员站长
2022/09/12
9210
检查网站的TLS版本
有时候需要知道某个网站支持的TLS的版本。现在SSL 2.0和SSL 3.0都已经被淘汰了。其中TLS 1.0,TLS 1.1,TLS 1.2是目前的的主流,相对也是安全的。主要看加密的算法。TLS 1.3是目前最新的协议版本,也是相对最安全的版本了。
宋天伦
2023/10/21
4.4K0
检查网站的TLS版本
轻量通讯协议 --- MQTT
「MQTT(Message Queuing Telemetry Transport)」 是一种轻量级的消息传输协议,通常用于在物联网(IoT)和传感器网络中进行通信。它设计用于在低带宽、不稳定或高延迟的网络环境下传输数据,因此非常适用于连接设备之间的通信,尤其是在资源有限的环境中。
Niuery Diary
2023/10/22
4.1K0
轻量通讯协议 --- MQTT
TLS加密远程连接Docker
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
程序员欣宸
2019/09/18
2.1K0
TLS加密远程连接Docker
如何建立TLS连接?TLS握手失败可能这个原因!
签前面三个案例里的HTTP都没加密,使排查工作省去不少麻烦,抓包文件里直接就看清应用层信息。
JavaEdge
2023/07/25
1.4K0
如何建立TLS连接?TLS握手失败可能这个原因!
mqttnet 详解_MQTTnet 3.0.5学习笔记
段时间在使用MQTTnet,都说这个东西比较好,可是翻了翻网上没有例子给参考一下。
全栈程序员站长
2022/09/12
1.1K0
golang简单tls协议用法完整示例
本文实例讲述了golang简单tls协议用法。分享给大家供大家参考,具体如下: 生成私钥: openssl genrsa -out key.pem 2048 生成证书: openssl req -new -x509 -key key.pem -out cert.pem -days 3650 https: package main import ( "io" "net/http" "log" ) func HelloServer(w http.ResponseWrite
李海彬
2018/03/27
3.8K0
golang简单tls协议用法完整示例
本文实例讲述了golang简单tls协议用法。分享给大家供大家参考,具体如下: 生成私钥: openssl genrsa -out key.pem 2048 生成证书: openssl req -new -x509 -key key.pem -out cert.pem -days 3650 https: package main import ( "io" "net/http" "log" ) func HelloServer(w http.ResponseWriter, req *
李海彬
2018/03/26
3.3K0
SSL / TLS 协议运行机制详解
本文简要介绍SSL/TLS协议的运行机制。文章的重点是设计思想和运行过程,不涉及具体的实现细节。如果想了解这方面的内容,请参阅RFC文档。
Java技术栈
2018/07/30
8130
SSL / TLS 协议运行机制详解
点击加载更多

相似问题

AttributeError:“函数”对象没有属性“as_view”

18

Django "AttributeError:‘函数’对象没有属性'as_view'“

11

AttributeError - CBV‘函数’对象没有属性'as_view‘。

12

AttributeError:输入对象'DirectView‘没有属性'as_view’

10

AttributeError:'function‘对象没有属性'as_view’。怎么了?

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文