nginx (u_char *) "text/html",Nginx的gzip过滤器不能与我的自定义处理程序

本文探讨了Nginx的gzip压缩功能与自定义处理程序之间的兼容性问题。作者发现当启用gzip时,静态文件可以被正确压缩,但自定义处理程序生成的内容却未被压缩。文中包含了一段示例代码。

我写了一个非常简单的nginx处理程序,只输出一些文本(大小100B到10KB)。Nginx的gzip过滤器不能与我的自定义处理程序

的代码工作正常nginx的(版本1.0.6)

,但我发现gzip的过滤器不能与处理工作。

当我打开nginx.conf中的gzip(在http部分下)时,gzip使用静态html文件工作文件。

但是,处理程序的响应没有用gzip压缩。

经过大量的搜索工作,我仍然找不到答案。

有什么意见?非常感谢。 :-)

//my code :

static ngx_int_t ngx_http_test_handler(ngx_http_request_t *r){

ngx_chain_t out;

ngx_buf_t *b;

b = ngx_pcalloc(r->pool, sizeof(ngx_buf_t));

......

//writing text to buffer

......

r->headers_out.status = NGX_HTTP_OK;

r->headers_out.content_length_n = len;

r->headers_out.content_type.len = sizeof("text/html")-1;

r->headers_out.content_type.data = (u_char *) "text/html";

out.buf = b;

out.next = NULL;

return ngx_http_output_filter(r, &out);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值