2015年2月アーカイブ

Java socket keep-alive 使いかた

Java socke keep-alive (http protocol response)の使いかたについて。

Java http server の Keep-alive による Http Responsse の返し方に関して、
大雑把な説明ですが、参考になればと思い書いてみました。

重要な点は、3箇所だけです。

1. server socket のKeepAlive の設定
Socket sock = servsock.accept();
sock.setKeepAlive(true); // this is important No.1

2.http response ヘッダーの特に2か所の記述 Content-Length:xxx と 注1)Connection: Keep-Alive です。
注1) HTTP 1.1 では、必要ないみたい。
HTTP/1.1 200 OK\r\n or HTTP/1.0 200 OK\r\n
Date: xxxxx\r\n
Server: xxxxx\r\n
Content-Length: body-size\r\n // "body-size" is very important No.2
Keep-Alive: timeout=5, max=20\r\n // timeout -> sec ,here is a little important
Connection: Keep-Alive\r\n // here is important No.3 , but if HTTP 1.1 no need
Content-type: text/html\r\n\r\n

body-size は、実際の長さに必ず合わせます。(これが、今回、一番重要です!)
htmlや画像ファイルなどは、ファイルサイズが最初から分かるから問題ないのですが、
perl CGI の出力を受ける場合は、大変です。
CGIの出力データを一度バッファに取り込んで、最終の長さを計算するか、チャンクに分割してその都度送信するかだと思います。
apache のHTTPレスポンスを見ると、チャンクでは無いように見えますが!

me.pikara.ne.jp の逆引き Host 制限

me.pikara.ne.jp は、未だに逆引き Host 制限をやっているみたい。
オンちゃんのサーバーは残念ながら、逆引き登録していないので、
ピカラのメールアドレスにメールを送れません。
なので、おんちゃんの所でご購入頂いたお客さんで、me.pikara.ne.jpを使っている方には、受注確認メールが届きません。何卒ご勘弁ください。

逆引き登録していないのは、韓国、中国だけだと決めつけるのは、あまりも早計ではなかろうか?
日本国内でも結構、逆引き登録していないサーバーは有ると思うのですが?
確かに、何年も前には、逆引き Host 制限を行うサーバーが結構あったかと思いますが、
(実を言えば、オンちゃんのサーバーも一時期行っていました)逆引き登録をしていないと言うだけで、すべてのメールを拒否するのは、ちょっと問題だとなったのかどうかわかりませんが、最近ではすっかりなく見かけなくなっていたと思っていました(オンちゃんの所もかなり前に止めました)。

このアーカイブについて

このページには、2015年2月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2015年1月です。

次のアーカイブは2015年4月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

カテゴリ

ウェブページ

サイトナビ