accf_http - buffer incoming connections until a certain complete HTTP requests arrive
It prevents the application from receiving the connected descriptor via
until either a full HTTP/1.0 or HTTP/1.1 HEAD or GET request has been buffered by the kernel.
If something other than a HTTP/1.0 or
HTTP/1.1 HEAD or GET request is received the kernel will
allow the application to receive the connection descriptor
The utility of
is such that a server will not have to context switch several times
before performing the initial parsing of the request.
This effectively reduces the amount of required CPU utilization
to handle incoming requests by keeping active
processes in preforking servers such as Apache low
and reducing the size of the file descriptor set that needs
to be managed by interfaces such as
or kevent ();
The options INET kernel option is also a module that can be enabled at runtime via kldload(8) if the INET option has been compiled into the kernel.
struct accept_filter_arg afa; bzero(&afa, sizeof(afa)); strcpy(afa.af_name, "httpready"); setsockopt(sok, SOL_SOCKET, SO_ACCEPTFILTER, &afa, sizeof(afa));
Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру