* お仕事 [#u5d549fc] HTTP/1.1 だけを受け付けて 1.0 を弾くようなサーバを立てられないかということで、 httpd.conf の設定をいろいろと調べたもののよくわからず。 Apache の Module を書いてしまえということで、さくさくと作ってしまいました。 こんなに簡単にできるとは。。Google 先生は偉大ですね。 いつも見ている [[DSAS開発者の部屋:http://dsas.blog.klab.org/archives/50574774.html]] のページが参考になりました。 mod_http_1_1 として作っています。 #code(c){{ #include "httpd.h" #include "http_config.h" #include "http_protocol.h" #include "ap_config.h" /* The sample content handler */ static int http_1_1_handler(request_rec *r) { if (strcmp(r->handler, "http_1_1")) { return DECLINED; } if (strcmp(r->protocol, "HTTP/1.1")) { return HTTP_INTERNAL_SERVER_ERROR; } r->content_type = "text/html"; ap_rputs("Good request in HTTP/1.1.\n", r); return OK; } static void http_1_1_register_hooks(apr_pool_t *p) { ap_hook_handler(http_1_1_handler, NULL, NULL, APR_HOOK_MIDDLE); } /* Dispatch list for API hooks */ module AP_MODULE_DECLARE_DATA http_1_1_module = { STANDARD20_MODULE_STUFF, NULL, /* create per-dir config structures */ NULL, /* merge per-dir config structures */ NULL, /* create per-server config structures */ NULL, /* merge per-server config structures */ NULL, /* table of config file commands */ http_1_1_register_hooks /* register hooks */ }; }} エラーは HTTP_VERSION_NOT_SUPPORTED (505) を返したかったところですが、 200 が返ってしまうのでやむなく HTTP_INTERNAL_SERVER_ERROR (500) にしました。 まぁ 5xx が返れば問題ないです。 * お勉強 [#k18bfff9] 著作権法の過去問。 - 3 著作者人格権、著作権 (続き) - 4 著作隣接権 正解率は70%ほど。あとは直前に詰め込むしかないですね。 短答アドヴァンステキストは商4条まで。まだまだ先は長い。 定時でそのまま早く帰ってくれば3時間は取れますね。 1時間でもあればいろいろ進みます。 ---- #comment