プログラマーへの道 #63 の補足説明
こんにちは、プログラマーVTuberの衣亥栖ティオです。
今回は以下の動画の補足説明をします。
動画内で実装したソースコードも載せています。
今回の動画で実装したソースコード
前回からの差分は以下のURLから検索することができます。 "プログラマーへの道" の動画番号を "Filters" に追加して検索してください。
https://github.com/tio-iis/sample-backend-server/pulls?q=is%3Apr+is%3Aclosed
全体は以下のURLのタグ検索機能で確認することができます。 "プログラマーへの道" の動画番号を "Find a tag" に指定して検索してください。
https://github.com/tio-iis/sample-backend-server
curlの正体
動画内でバックエンドサーバにブラウザでもアクセスできるという説明をしました。 ここで curl の正体が分かったかなと思っています。 curl は HTTP リクエストを送信するためのコマンドです。
https://ja.wikipedia.org/wiki/CURL
HTTP リクエストというはブラウザがWebサイトを表示する際にバックエンドサーバに送信している通信のことでもあります。 言い換えると、curl は "ブラウザがWebサイトを表示する際にバックエンドサーバに送信している通信を送信できるコマンド" です。 開発中に curl を利用する機会はとても多いので、これはエンジニアにとって必須のコマンドです。 今後も開発でも使っていくので覚えておきましょう。
ブラウザとポート番号
バックエンドサーバにアクセスする際に "8080" という数字を付けていますが、これをポートといいます。
実はブラウザでWebページを表示する際のURLにもポートが必要なので、本来であれば "https://github.com/" というURLにもポートを指定する必要があります。 ポートは通信形式によって利用する数字が決まっており、https の通信の場合は 443 を指定します。 そのため、本来であれば "https://github.com/" は "https://github.com:443/" でなければいけません。 試しに "https://github.com:443/" をブラウザで表示してみてください。 正常に GitHub のページが表示されるはずです。 では、なぜ普段 443 を指定しなくてもいいのかというと、ブラウザの通信は443を利用するというのが決まっているので、ブラウザが空気を読んで 443 を付けてくれているからです。
"ブラウザ(https通信)は 443 を利用する" というように決まっているポートを Well Known Port といいます。
http は 80 で、ssh 22 で、mysql は 3306 というように有名な通信形式はポートが決まっているので、 エンジニアは大体このポートを覚えています。
favicon について
favicon の説明を以下に載っています。 favicon はなくてもいいものですが、あったほうがかっこいいので、Webサービスを開発するときは大体この favicon を用意することになりますね。