AN HTTPD ゲストブック/コメント集(1999年12月13日00:01)


中田昭雄 nakata@st.rim.or.jp 1999/12/14 21:24

あんなさん、
確かに。 CGI/1.1 を確認したら、SERVER_PROTOCOL は リクエストのバージョンにすべきですね。
次バージョンで直します。


あんな tamatoku@messages.to 1999/12/14 05:15

すみません、以前に書きました

>HTTPサーバのオプション/一般で、HTTPバージョンを1.1にしているときに、
>HTTP/1.0でリクエストを送ってもHTTP/1.1で返ってくるようです。

これは正しい動作のようでした。HTTPレスポンスと環境変数SERVER_PROTOCOLが
連動しているものと勘違いしていました。大変失礼しました。

一応、目的はCGI環境変数でHTTPクライアントのHTTPバージョンを取得することです。

Apacheとの動作の違いを書いておきます。


Apacheに1.1を発行した場合:
GET /cgi-bin/test.cgi HTTP/1.1
応答:
HTTP/1.1 200 OK
Date: Mon, 13 Dec 1999 19:45:02 GMT
Server: Apache/1.2.6
Transfer-Encoding: chunked
Content-Type: text/plain

test: SERVER_PROTOCOL=HTTP/1.1


Apacheに1.0を発行した場合:
GET /cgi-bin/test.cgi HTTP/1.0
応答:
HTTP/1.1 200 OK
Date: Mon, 13 Dec 1999 19:46:46 GMT
Server: Apache/1.2.6
Connection: close
Content-Type: text/plain

test: SERVER_PROTOCOL=HTTP/1.0


のようにSERVER_PROTOCOLに反映されるのですが、
ANhttpdに1.1を設定しているときに1.0で発行すると、
GET /cgi-bin/test.cgi HTTP/1.0
応答:
HTTP/1.1 200 Document follows
MIME-Version: 1.0
Server: AnWeb/1.22c
Date: Mon, 13 Dec 1999 19:50:15 GMT
Connection: close
Content-type: text/plain
Content-Length: 46
Last-Modified: Mon, 13 Dec 1999 19:50:15 GMT

test: SERVER_PROTOCOL=HTTP/1.1


となります。
もし何かの事情でこのような対応が困難でしたらその旨仰ってください。
よろしくお願いいたします。


あんな tamatoku@messages.to 1999/12/13 00:01

HTTPサーバのオプション/一般で、HTTPバージョンを1.1にしているときに、
HTTP/1.0でリクエストを送ってもHTTP/1.1で返ってくるようです。
また、CGI環境変数も

SERVER_PROTOCOL=HTTP/1.1

となってしまうようです。

1.1に設定しているときでも、HTTPクライアントが1.0で要求した場合には
HTTP/1.0で返して、環境変数も

SERVER_PROTOCOL=HTTP/1.0

となるようにして頂けないでしょうか。
よろしくお願いいたします。