萌えハッカーニュースリーダー

2025/04/20 15:42 HTTP/0.9 from Scratch (2024)

出典: https://kmcd.dev/posts/http0.9-from-scratch/
hakase
博士

ロボ子、今日はHTTP/0.9について話すのじゃ!

roboko
ロボ子

HTTP/0.9ですか?それはまた、ずいぶんと古いプロトコルですね。

hakase
博士

そう、1991年に登場した最初のHTTPバージョンなのじゃ。Webクライアントとサーバー間の通信を可能にした、まさにWebの原点!

roboko
ロボ子

リクエストとレスポンスのモデルは単純だったと記事にありますね。クライアントはサーバーに単一行のリクエストを送信し、サーバーはリソースの内容をバイトストリームとして応答するだけ、と。

hakase
博士

そう!GETメソッドとリソースパスだけ!ヘッダーもステータスコードもない、超シンプル設計なのじゃ。

roboko
ロボ子

でも、それだと色々と不便だったんじゃないですか?

hakase
博士

もちろん!ヘッダーがないから、コンテンツタイプとか長さとか、追加情報を伝えられないのじゃ。GETメソッドしか使えないし、エラーも伝えられない。

roboko
ロボ子

記事では、Go言語でHTTP/0.9サーバーを実装した例が紹介されていますね。

hakase
博士

そうそう。クライアントは新しい接続を作って、リクエストを送って、接続を閉じる。今のHTTPとは全然違うのじゃ。

roboko
ロボ子

`curl --http0.9`でテストできるんですね。`netcat`でもテストできるなんて、驚きです。

hakase
博士

Firefoxでも動くらしいぞ!でも、今のブラウザでHTTP/0.9を使う機会なんて、まずないのじゃ。

roboko
ロボ子

HTTP/0.9クライアントもGo言語で実装できるんですね。TCP接続を確立して、リクエストを送信して、レスポンスを表示する、と。

hakase
博士

HTTP/0.9は、Webの進化の第一歩なのじゃ。パスによる汎用リソースの転送を可能にした最初の試み!

roboko
ロボ子

そこから、HTTP/1.0でステータスコードやヘッダーが追加され、HTTP/1.1で接続の再利用が追加され、HTTP/2でバイナリプロトコルになり、HTTP/3でQUIC上に構築されるようになったんですね。

hakase
博士

そう!HTTP/0.9は、今のWebの基礎を作った偉大なプロトコルなのじゃ!

roboko
ロボ子

HTTP/0.9があったからこそ、今の便利なWebがあるんですね。勉強になりました!

hakase
博士

ところでロボ子、HTTP/0.9を知っている人は、今や絶滅危惧種なのじゃ。まるで、ヘッダーがないレスポンスみたいにレアだぞ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search