Swoole从入门到入土(13)——HTTP服务器[配置]
开篇之前,先复习一下如何为一个server进行配置的设置:
$server->set(array( 'key' => 'value' ));
配置说明:
upload_tmp_dir:设置上传文件的临时目录。目录最大长度不得超过 220 字节
示例:
$server->set(array( 'upload_tmp_dir' => '/data/uploadfiles/', ));
http_parse_post:针对 Request 对象的配置,设置 POST 消息解析开关,默认开启。设置为 true 时自动将 Content-Type为x-www-form-urlencoded 的请求包体解析到 POST 数组。设置为 false 时将关闭 POST 解析。
示例:
$server->set(array( 'http_parse_post' => false, ));
http_parse_cookie:针对 Request 对象的配置,关闭 Cookie 解析,将在 header 中保留未经处理的原始的 Cookies 信息。默认开启
示例:
$server->set(array( 'http_parse_cookie' => false, ));
http_compression:针对 Response 对象的配置,启用压缩。默认为开启。
注意:
-http-chunk 不支持分段单独压缩,若使用 write 方法,将会强制关闭压缩。
-http_compression 在 v4.1.0 或更高版本可用。
-目前支持 gzip、br、deflate 三种压缩格式,底层会根据浏览器客户端传入的 Accept-Encoding 头自动选择压缩方式。
-gzip 和 deflate 依赖 zlib 库,在编译 Swoole 时底层会检测系统是否存在 zlib。可以使用 yum 或 apt-get 安装 zlib 库:sudo apt-get install libz-dev。
-br 压缩格式依赖 google 的 brotli 库,安装方式请自行搜索 install brotli on linux,在编译 Swoole 时底层会检测系统是否存在 brotli。
示例:
$server->set(array( 'http_compression' => false, ));
http_compression_level:压缩级别,针对 Response 对象的配置。$level 压缩等级,范围是 1-9,等级越高压缩后的尺寸越小,但 CPU 消耗更多。默认为 1, 最高为 9。
open_http2_protocol:启用 HTTP2 协议解析【默认值:false】。需要编译时启用 --enable-http2 选项
与官网相比,这里有几个配置没有讨论,比如:document_root、enable_static_handler。因为这些配置官网已明确说明,功能简易不能用于公网,所以用处不大。如果想要了解这些细节,请查看官网。
这一节的内容到这里结束,下一节我们将进入协程风格的HTTP服务器。
--------------------------- 我是可爱的分割线 ----------------------------
最后博主借地宣传一下,漳州编程小组招新了,这是一个面向漳州青少年信息学/软件设计的学习小组,有意向的同学点击链接,联系我吧。