そういえば、URLの終わりにスラッシュを入れるべきかどうかも、ときどき気になる。
たとえば、ドメイン名の直後だった場合。
ここだと「http://hiro99ma.blogspot.com」と「http://hiro99ma.blogspot.com/」だ。
この場合、http://のあとだから、ドメイン名しかないことはわかっている。
なので、クライアント(ブラウザ)は文字列をそのまま送っているかもしれないし、うしろにスラッシュを補完して送っているかもしれない。
そうじゃなかったら、ファイルなのかどうか区別がつかないので、クライアントはそのまま送るしかないだろう。
まあ、そう考えると、クライアント側は文字列を加工せずにサーバに送っていると考えた方がよいか。
To slash or not to slash
ハムレットの一部をもじったようなタイトルが恰好いいが、中身もなかなか興味深い。
これは「うちの経験からはこうだった」という、現実的な話である。
しかし、私が知りたいのは、どういう定義になっているのか?だ。
サーバの設定とか、ファイルシステムがどうのとかいうのは、結果でしかない。
仕様がこうなっているから、うちのサーバはこうしています、というところの「仕様」が知りたいのだ。
ブラウザって、HTMLであればその通り解釈するし、テキストファイルを突っ込めばその中身が読めるし、画像ファイルを突っ込めば画像が表示される。
私からすると、なんでそこまでやってあげるのだ?という不思議な世界である。
なんというか、世の中のありとあらゆるものを解釈してるんじゃないか、という得体の知れない存在なのだ。
なので「仕様としてやっているところ」と「親切でやっているところ」を見分けたいのだよ。
そういう目線で仕様を探してみたのだが・・・わからんかった。
やはり、Googleがいってるような探し方をするのが「一般的」というだけで、ルールはないってことなのかな。
そして、クライアント側は特に何もしない、と。
まあ、そういうことならそれでいいんだ。
http://hiro99ma.blogspot.com/ の意味ですが、ブラウザは hiro99ma.blogspot.com のサーバに対して、httpというプロトコルで / のコンテンツを要求するという動作をしています。
返信削除http://hiro99ma.blogspot.com とURL欄に入力したときは、ブラウザが自動でドメイン名の直後の / を補完してくれていると考えれば良いと思います。
コメントありがとうございます。
返信削除なるほど、ドメイン名の後ろの「/」は単なる区切りではなく「/のコンテンツ要求」なのですね。
要求するブラウザとしては「/」がなかったら要求するコンテンツがないことになってしまうので自動で補完している、と。
すっきりしました。