1

如何设置 Perl Dancer 默认使用 HTTP/1.1 回答?我刚刚启动了一个 hello world 应用程序,使用 HTTP/1.1 触发了我的 curl,它使用 HTTP/1.0 进行响应。

foo@deathstar:~/MyWeb-App/lib/MyWeb$ curl -v http://localhost:3000

About to connect() to localhost port 3000 (#0)
> *   Trying 127.0.0.1... connected
> * GET / HTTP/1.1
> User-Agent: curl/7.22.0 (i686-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
>  Host: localhost:3000
> Accept: */*
> HTTP 1.0, assume close after body < HTTP/1.0 200 OK < Server: Perl Dancer 1.311 < Content-Length: 5601 < Content-Type: text/html;
> charset=utf-8 < X-Powered-By: Perl Dancer 1.311
4

1 回答 1

2

看起来 HTTP 协议在 HTTP::Server::Simple::PSGI 中是硬编码的,这是 Dancer 在独立模式下运行时使用的。

https://metacpan.org/module/Dancer::Deployment详细介绍了部署应用程序的选项。

作为一个快速测试,我做了plackup -s Starman -a ./hello_world.pl,它回答了 HTTP/1.1 而不是 HTTP/1.0。

于 2012-12-05T22:07:01.090 回答