tail head cat sleep
QR code linking to this page

manページ  — ACCF_HTTP

名称

accf_http – ある完全な HTTP リクエストの到着までの間の入力接続バッファ

内容

書式


options
options
kldload

解説

これは HTTP 入力接続を受け取るために accept() が使用されるソケット上に配置されるためのフィルタです。

これは完全な HTTP/1.0 または HTTP/1.1 の HEAD または GET リクエストが カーネルによってバッファされるまでの間に、アプリケーションが accept() を介して接続された記述子を受け取ることを防止します。

HTTP/1.0 または HTTP/1.1 の HEAD または GET リクエスト以外の何かが 受け取られた場合には、カーネルはアプリケーションが accept() を介して接続記述子を受け取ることを可能にします。

accf_http の効用は、サーバがそのリクエストの初期の文法解析を実行する前に コンテキストの切り替えを何回か行なう必要が無いようにすることです。 Apache のようなサーバのフォーク前のアクティブプロセス数を低く抑え、 select(), poll() または kevent() のようなインタフェースによって管理されることが必要なファイル記述子の組の 大きさを減少させることによって、 入力リクエストのために必要な CPU 利用を効果的に減少させます。

カーネルの中に INET オプションが既にコンパイルされている場合には、 accf_http カーネルオプションは kldload(8) を介して実行時に有効化することができるモジュールもあります。

使用例

ACCEPT_FILTER_HTTP がカーネルコンフィグファイルに含まれているか、 accf_http モジュールがロードされていると仮定して、これはソケット sok 上の http accept フィルタを有効化します。
        struct accept_filter_arg afa;

        bzero(&afa, sizeof(afa));         strcpy(afa.af_name, "httpready");         setsockopt(sok, SOL_SOCKET, SO_ACCEPTFILTER, &afa, sizeof(afa));

関連項目

setsockopt(2), accept_filter(9)

歴史

accept フィルタ機構および accf_http フィルタは FreeBSD 4.0 で導入されました。

作者

このマニュアルページおよびこのフィルタは Alfred Perlstein が書きました。

ACCF_HTTP (9) November 15, 2000

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

"I liken starting one's computing career with Unix, say as an undergraduate, to being born in East Africa. It is intolerably hot, your body is covered with lice and flies, you are malnourished and you suffer from numerous curable diseases. But, as far as young East Africans can tell, this is simply the natural condition and they live within it. By the time they find out differently, it is too late. They already think that the writing of shell scripts is a natural act."
— Ken Pier, Xerox PARC