【サイバーセキュリティ】実は2パターン!HTTPリクエスト行の「パス」
はい、こんにちは。前回記事からの続きです。サイバーセキュリティについて学ぶため、HTTPの仕組みをご紹介しております~。
前回記事では、リクエスト行の1番目の要素である「メソッド」の種類について紹介しました。いろいろありますが、まずはGETとPOSTを知っておけばOKということでした~。
サーバからリソースが欲しいなら「GET」、サーバにデータを受け取ってほしいなら「POST」とするのが基本でした。
今回は、リクエスト行の2番目の要素である「パス」について理解しましょう。単にリソース(htmlファイルとか)の場所を指定するだけでしょう~と思うかもしれませんが、もう少し奥が深そうです。
では、行ってみましょう!
パスの目的は?
まずは、そもそもパスが存在する理由です。
それは、インターネット上に無限のようにあるリソースを特定するためのものです。「このホスト(サーバ)のこの情報をくれ」といった感じに。
「パス」以外の呼び方は?
続いて、このリクエスト行の2番目の要素ですが、実は文献によって呼び方がバラバラです。具体的には、
パス(Path;経路)
URI(Uniform Resource Identifier)
URL(Uniform Resource Locator)
などです。このブログでは「パス」を採用しました。URIというべきか、URLというべきか迷った挙句、「パス」にしたという経緯ですw。
なお、URIは、「URLとURN(Uniform Resource Name)」を含む用語です。ただ、URNについては、あまりお目にかかる機会がなく、「URIとURLは、(だいたい)同じ」と考えて当面差し支えなさそうです。
パスが不完全なのはどうして?
もう一度、パスの例を見てみましょう。
「/site/topics.html」ですね。でも、これよりも左側にあるはずの、ホスト名がないのですけれども。これでは、インターネット上にあるリソースにたどり着けません…。
これはどういうことでしょうか?
実は、ホスト名は、リクエストヘッダーの方に書き込んでおくのです。例えば次のようにです。
Hostヘッダフィールド(後述)で、ホスト名を指定しておくのですね。どうりで何かおかしいと思いました。
でも、別の書き方も存在します。URIをすべて書く方法です。
人間からすると、こちらの方が見やすい気がしますね。両方知っておくことにしましょう。
はい、本日はここまで~。今回は、リクエスト行のうち、「パス」について紹介しました。「なぜURLの途中からしか記載されてないんだ…」という謎が解けました!
次回は、リクエスト行のうち、3番目の要素、バージョンを見てみましょう!
では。
追記:URLは、ホスト部とパス部に分かれます。下の例でいえば、①がホスト部で、②がパス部です。
「パス」といった場合、基本的にURLの一部である②の部分を指すことになります。このため、URLとパスは指し示している範囲が異なります。
この記事が気に入ったらサポートをしてみませんか?