質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.38%

HTTP/1.1のバージョン表記は、なぜスラッシュが入るのでしょうか?

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 2
  • VIEW 3,370
退会済みユーザー

退会済みユーザー

困っているわけではないですが、不思議に思ったので質問します。

HTTPのバージョン表記は、HTTP/1.1 や HTTP/2 のようにスラッシュを入れて表記します。

RFCもスラッシュを入れて表記しているため、正式なものかと存じます。

HTMLやCSSなどのバージョン表記にはスラッシュは入りません。

※CSSの場合はバージョンではなくレベルという名称ですが・・・

なぜ、HTTPはスラッシュを入れて表記するのでしょうか?

ご存知の方いれば、教えてくださいm(__)m


2016.6.16 追記

maisumakun さんの回答を受けて、HTTPのレスポンスについて調べました。

調べた結果は、コメントに記載してあります。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+4

実際のHTTPレスポンスが、HTTP/1.1 200 OKのようになっているからでしょう。

なお、同じくHTTPヘッダに入るユーザーエージェントも、Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36と、「ソフトウェア/バージョン」区切りになっています。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/06/16 13:36 編集

    > nexstar さん

    どちらが先か気になりますよね。

    RFC1945(HTTP/1.0)日本語訳からの引用ですが、バージョン表記に関しては「3.1 HTTP バージョン」が該当するかと思います。
    下記が該当箇所の引用ですが、/ を記載しております。


     HTTPのバージョンメッセージはメッセージの最初の1行のHTTP-Version領域で
     示されます。もし、プロトコルバージョンが示されていなければ受信者はHTTP/0.9の
     フォーマットと仮定しなければならない。

      HTTP-Version  = "HTTP" "/" 1*DIGIT "." 1*DIGIT


    簡単に調べた範囲(ソース元も確認してないし、誤りがある可能性あり、ツッコミお待ちしております)では、HTTP/1.0からRFCの策定がされているようです。
    ※Wikipedia Hypertext Transfer Protocol (https://ja.wikipedia.org/wiki/Hypertext_Transfer_Protocol

    そのため、HTTP/1.0より前という意味でのHTTP/0.9のRFCはないと思います。

    次にHTTP/0.9ではHTTPのバージョンを / を入れて表記をしていたのかということですが、調べてもわかりませんでした。
    ※HTTP/0.9はシンプルとの記述は散見されますが、/ を入れてバージョンを表記していたとの記述は見当たらない。誰か教えてください。

    私の妄想で申し訳ないですが、このHTTP/0.9で既に/を入れていた、もしくは、HTTP/1.0の策定時にスラッシュ入れようぜってなったのかなと思ってます。

    キャンセル

  • 2016/06/16 14:19

    回答でつけるには微妙なのでこちらで・・・

    https://ja.wikipedia.org/wiki/Hypertext_Transfer_Protocol#HTTP.2F0.9
    これですかね、昔は「GET /xxxx.html」だけだったんですね

    キャンセル

  • 2016/06/16 14:44 編集

    > hide2e3r さん
    コメントありがとうございます。
    私の方でも調べましたが、下記のようにHTTP/0.9では/ を入れたバージョン表記したとの記述は見当たらないですね。
    http://www.wakhok.ac.jp/biblion/1998/netadmin/node407.html
    やはり、HTTP/1.0のときに / を入れてバージョン表記をした可能性が高いですね。
    そうなると、HTTP/1.0の実装が先で後からRFCが策定さたか、RFC策定時もしくは策定後にHTTP/1.0が実装されたのかということですね。
    そこら辺はよくわかりませんが、後者であれば、誰かが / 入れようぜって言ったために HTTP / 1.1 のような表記になったということですかね。
    (RFCの策定について詳しく把握していないので勝手な憶測)

    仮に誰かが言って実装されたなら、わざわざ / を入れる理由がわからないですね。
    もともと、HTTPについて調べた記事を書こうと思い、HTTP/1.0のように何回か入力したところで、「なんで/入っているだ。面倒くせー」となって質問したので・・・
    無知な私の考えなので、実際には/を表記せざるを得ない理由があったのかもしれませんけど・・・

    まぁ、HTTP/1.0 を RFC策定前に / 入れて実装しちゃった (。・ ω<)ゞてへぺろ って可能性もありますけど。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.38%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る