改版履歴

改版履歴

Cente HTTPd/c


改版日 2008.04.20
バージョン Ver1.50

HTTPd修正

CGIで、404などの場合にでも、任意のエラーページを返す事ができるようにした。

CGI内で、httpd_send_http_prolog()を呼ばなかった時にのみ、デフォルトのエラーページが送られる。

Locationヘッダを正しく送信できない不具合修正。

outheader->locationに文字列がセットされていても、その文字列を正しくブラウザに送っていなかった。

CGIやEmbDataのリソース名の制限を無くした。

CGIやEmbDataのリソース名に"."が入っていなくても動作するようにした。

404等のエラーコード送信時でも、TCPを切断せずに、可能な限りkeepaliveするようにした。

以前はエラー時には必ず

・HTTP1.0で送信

・コネクションを切る

としていたが、 可能な限りkeepaliveするように変更。

HTTPc修正

httpc_set_socketが無駄に複数回呼ばれる事があるのを修正。

httpc_connect()内でhttpc_set_socket()を呼んでいたが、一度のhttpc_get()でhttpc_connect()が複数呼ばれる事があり、その度にhttpc_set_socket()が呼ばれていた。

一回一回のパケット受信タイムアウトではなく、サーバーとのトータルの通信タイムアウトを指定できるようにした。

HTTPC_USE_TOTAL_TIMEOUTとHTTPC_TOTAL_TIMEOUTを追加。詳しい使い方は、マニュアルを参照のこと。

cepが解放されない事があるのを修正

httpc_cls_cep()で失敗(タイムアウトなど)すると、cepの解放が行われないのを修正。

マルチパートデータのPOSTのサンプルを追加。

http/sample/cthttpc_sample2.cを追加。

Basic認証時に送る文字列を、"Authorization: BASIC"から"Authorizatino: Basic"に変更

一部の組み込みwebサーバーなどで、正しく動作しないケースが見つかった。RFC上はどちらでも良い事になっているが、多くのブラウザに合わせて、"BASIC"ではなく"Basic"を送るように変更。