Closed matyhtf closed 2 years ago
目前的实现中,根据客户端Accept-Encoding来判断是否支持压缩,一旦客户端支持压缩,使用Response::end()发送数据时就可以直接开启压缩。
Accept-Encoding
Response::end()
在某些场景下,我们希望用Response::end()直接发送jpg、png等文件的内容,实际上这些格式已经是压缩格式了,即使使用gzip压缩也不会显著地减少数据尺寸,反而压缩会带来额外的性能开销,这时应当允许对当前的Response主动关闭压缩,直接发送原始内容。
jpg
png
gzip
Response
期望版本:5.0
5.0
Server增加一个http_compression_types选项来控制允许压缩的MIME格式集
Server
http_compression_types
MIME
$server->set([ 'http_compression_types' => [ 'text/plain', 'application/x-javascript', 'text/css', 'application/xml'', ] ]);
http_compression
同时支持Http\Server和Coroutine\Http\Server以及HTTP2 Server
Http\Server
Coroutine\Http\Server
HTTP2 Server
背景
目前的实现中,根据客户端
Accept-Encoding
来判断是否支持压缩,一旦客户端支持压缩,使用Response::end()
发送数据时就可以直接开启压缩。在某些场景下,我们希望用
Response::end()
直接发送jpg
、png
等文件的内容,实际上这些格式已经是压缩格式了,即使使用gzip
压缩也不会显著地减少数据尺寸,反而压缩会带来额外的性能开销,这时应当允许对当前的Response
主动关闭压缩,直接发送原始内容。期望版本:
5.0
选项
Server
增加一个http_compression_types
选项来控制允许压缩的MIME
格式集http_compression_types
但设置了http_compression
:对输出的内容全部压缩http_compression_types
,则只对列表中的MIME
格式内容进行压缩,忽略http_compression
设置