[an error occurred while processing this directive]
[APACHE DOCUMENTATION]

Java and HTTP/1.1


ApacheグループはJavaのアプリケーションとアプレットを使ってApache 1.2のサイトにアクセスする時の問題に関連した、いくつかの報告を受け取っています。調査ではSunのJDK(Java Development Kit)バージョン1.0.2に問題があることが明らかになりました。

So, What's The Problem?

問題の症状はこれです: WebのURLs(such as URLConnection and friends)へのアクセスに巻き込まれたJavaクラスはドキュメントのコンテンツと同じようにHTTPのヘッダーをリターンするでしょう。それは、もしhttp://localhost/foo.gifのようなURLにアクセスするためにURLConnectionを使って、localhostサーバがHTTP/1.1ヘッダに応答すれば、コードは実際のイメージコンテンツよりも前に原文のヘッダを受け取るでしょう。

What's The Solution?

この問題は1996年の9月にSunによって確認され、修正されました。正常なものはJDK 1.1とJDK 1.1.1にあります。そのような、これら1.0.2後の環境で作動するいくつかのアプレットかアプリケーションは正確に働くでしょう。

付け加えるなら、問題を含んでいる基本的なクラスは"製作者の特別なhandler"のようなレッテルを張られた一つであり、普通ベンダーがJavaの仮想マシン環境をポーティングすることによって供給されます。最近のブラウザがこの問題を持たないのは幸運で、ベンダーがJDK 1.0.2クラスのライブラリに問題を引きずっていない完成したクラスを供給するからです。

Is There a Workaround?

Yes and no:

Yes
もしApache 1.2サーバを動かしているなら、 コンフィギュレーションファイルにBrowserMatch命令を追加することによって"fake" HTTP/1.0レスポンスに対するサーバを指示することができます(詳細はApache FAQを参照してください)。これを行なうために、JavaとJDK 1.0.2クラスのライブラリを使ってサーバにアクセスするネットのクライアントは期待したレスポンスを得るでしょう。

No
もし一ユーザとしてこの問題に遭遇したら、実際のworkaroundはありません(必要とされたサーバのウェブマスターにコンタクトすることや、それを注意することとは違って)。一番良いのは"safe"にアップグレードすることです; JDK 1.1.1やMozilla 3.01やそれ以降のような仮想マシン


Thanks for identifying this problem and its causes, workarounds, and solutions are due to many individuals around the net.