たとえば、HTTPサーバー/クライアントを作成することですが、HTTP/1.0をサポートすることはどれほど重要ですか?今でもどこでも使われていますか?
編集: HTTP/1.0の有用性/重要性にはあまり関心がなく、実際に使用するソフトウェアの量には関心がありません。実世界(ブラウザ、ロボット、スマートフォン/愚かな電話など)での非内部(ユニットテストは内部使用など)の目的で使用されます。
2016年の時点で、1999年に1.1が導入されて以来、プロミネンスはさらに低下すると思われるので、これは約17年です。
7,727,198行のログをチェックして、HTTP/1.0
とHTTP/1.1
の何パーセントを取得したかを確認しました。
Protocol Counts Percent
--------------------------------
HTTP/0.9 0 0.00%
HTTP/1.0 1,636,187 21.17% (all)
HTTP/1.0 15,415 0.20% (without the obvious robots)
HTTP/1.1 6,091,011 78.83%
HTTP/2 0 0.00%
私が見ることができることから、HTTP/1.0
のほとんどはロボットからのものです。だから私は明らかにそのようなものからのエントリを削除しようとしました(つまり、Wordロボット、ボット、Slurpなどを含むエージェント)
そのため、今日でもHTTP/1.0
に固執しているエンドユーザーの数は非常に限られているようです(0.2%)。ただし、ロボットにWebサイトをチェックアウトさせたい場合は、HTTP /1.0の動作を維持する必要がある場合があります。ほとんどの場合、接続をHost: ...
プロトコルとしてアドバタイズしますが、とにかくHTTP/1.0
ヘッダーが含まれます。
また、HTTP/1.0
とHTTP/1.1
の違いは、実装の点で非常にあいまいです。ほとんどの人は喜んで両方を混ぜています。 HTTP/1.0
リクエストの受け入れ/処理についてはあまり心配しません。
別のサーバーで、次のようなHTTP/2.0
リクエストが表示され始めています(2427を取得し、34,161,268 HTTP/1.0
およびHTTP/1.1
リクエストが表示されるため、0.007%):
PRI * HTTP/2.0
wget
HTTP/1.0を使用し、それでも比較的人気があります(ただし、Host:
ヘッダーなどのいくつかのHTTP/1.1機能をサポートしています。これは、仮想ホスト)。
一部の(古い)ブラウザでは、HTTP/1.1の永続接続に課せられる2接続制限よりも高い接続制限がHTTP/1.0サーバーに与えられるため、かなりの数のサーバーが意図的にHTTP /1.0応答を返します。
しかし、一般的に、ほとんどの「HTTP/1.0」実装は、実際にはHTTP/1.1実装のわずかに制限されたバージョンであり、多くのHTTP/1.1実装は、そのバージョンの一部の機能(特にパイプラインなど)を実際にはサポートしていません。
HTTP/1.0は、パイプライン処理や1.1で必要とされるその他の複雑なものなど、1.1のすべてのオーバーヘッドを必要としない非常に基本的なクライアントを作成する上で非常に重要です。リクエストを投稿するとレスポンスが得られ、切断のコーディングは非常に簡単です。これは、HTTPプロトコルの実装ではなく、アプリケーションの機能をテストするだけのサーバーのテストケースを作成する場合に役立つことがあります。
1.0を使用するモバイルブラウザやアプリケーションはたくさんあります。スペースがないか、より高度な1.1実装が必要なためです。また、スマートフォン以外の3G接続での遅延の問題は、1.1機能の利点を完全に打ち消します。
クライアントが何を要求しているかに関係なく、すべてを1.0に低下させるプロキシもたくさんあり、IEの問題があります。
したがって、簡単な答えは、汎用HTTPサーバーの場合、1.0が非常に関連性があるということです。
サーバーにtelnetで接続しているときは、接続を確認したり、サーバーが機能しない理由を理解したりするために、常にこれを使用しています。
$ telnet 192.168.1.1 80
GET / HTTP/1.0\r\n
\r\n
...
(1.0リクエストを行うために、追加のヘッダーを提供する必要がないため)。
他の目的のためにこれを自分で調べます:
「HTTP/1.0はプロキシ、一部のモバイルクライアント、およびIEプロキシを使用するように構成されている場合)で使用されています。したがって、1.0は依然としてWeb全体のトラフィックの重要な割合を占めているようです。 。..はい、まだ多くの1.0クライアントが存在します。」
出典(2009年7月): http://groups.google.com/group/erlang-programming/msg/08f6b72d5156ef74
:-(
更新(2011年3月):
クライアント/サーバーを構築する場合は、クライアントにHTTP/1.1を使用させ、サーバーに1.1と1.0の両方を受け入れさせる。 Web開発を行う場合、どのサイトをロードするかを知る方法がないため、クライアントがHostヘッダーなしでページをロードしようとするのはPITAです:-Sしたがって、そのようなクライアントを構築しない方がよいでしょう。 ;-)