【Q&A】URLを分解してみよう。ホストやポート番号とは?

こんにちは。

本日の質問がこちら。

HTTP、ホストやポート番号、パスなどURLに関する用語がわからないので教えて欲しいです。

ということで、通信関係の用語についての質問ですね。

言語の基本構文などを勉強しているときはあまり見かけない単語ですが、サーバの話が絡んでくると頻繁に出てくる単語ですね。

まずは簡単にで構わないので、皆さんも答えられるくらいに理解しておきましょう!

それではこちらの質問に答えていきます。

URLを分解すると分かりやすいので見てみましょう。

https://www.google.com/search?q=codeship

​上記のURLを分解して、httpとホストとポート、パスに分解してみると以下のようになります。

https:// | google.com | /search?q=codeship
HTTP | ホスト | パス

HTTP

まず、HTTPについてですが、ハイパーテキスト・トランスファー・プロトコルのことで、通信規約のことです。

プロトコルは日本語に訳すと「規約」と言う意味です。

通信規約はブラウザで一般ユーザーが使うのは、HTTPです。

HTTP以外のよく使われているプロトコル↓

  • FTP: ファイルを転送するためのプロトコル
  • POP3, SMTP: メールを送受信するためのプロトコル
  • DHCP: プリンターなどに接続するプロトコル

「http://」 と「https://」の違いについて、https://は「http + ssl」の略でSSLは暗号化をするプロトコルなので、「https://」はHTTPの暗号化という事になります。

ホスト

ホストはネット上で、どのコンピュータと通信をするか決めています。

Googleのコンピューターと接続する場合は「google.com」としますし、ローカルのコンピューターと接続する場合は「localhost」とします。

ポート番号

​ポート番号はどの通信規約で通信するか決めています。

「http://」と最初に定義した場合、ポート番号は入力しなくても、80番になります。

「https://」と最初に定義した場合、ポート番号は何も入力しなくても、443番になります。

laravelやrailsで開発を行っているとポート番号が「8000」や「3000」番でサーバーが起動しているので、その時は「localhost:8000」や「localhost:3000」などにしてください。

パス

​パスは、接続先のコンピューターにどのような内容が欲しいかリクエストするための値になります。

本日は、通信関係の各種用語について解説しました。