はじめに
エンジニア転職を目指して勉強しているのですが、Twitterや現役エンジニアの人の話を聞いていると
ネットワーク周りのことも勉強しておかなければ現場に入った後についていけないとの意見をよく見かけます。
という訳でよく耳にするけど内容は説明できないなといったネットワーク周りの単語について
改めて調べてみましたのでここに残します。
- IPアドレスとポート番号
- URLとドメイン
- DNS
- HTTP
- HTTPS
- HTTPメソッド
- SSL/TLS
IPアドレスとポート番号
IPアドレス
インターネットに接続されたコンピュータを特定し、データの行き先を管理するための識別番号
インターネットにおいてIPアドレスは世界中でたった1つだけであり、**「住所」**のようなものです
ポート番号
コンピュータが提供するサービスを指定するためのもの
ポート番号とはコンピュータの内部にある各サービスを識別するための番号であり
マンションなどで言う**「部屋番号」**に当たります。
ポート番号は「0~65535」までの数字で、範囲によって用途が定められています。
一般的にWebサーバーであれば80番といったようにポート番号が決まっております。
URLとドメイン
私たちがWebサイトを閲覧する際は**「http://example.com/sample.html」**といった文字列を
使いますが、この文字列を**「URL」**といいます。
URLの細かい内容は以下の通りです。
・http ファイルを取得する方法の指定
・example.com ファイル取得先のサーバーを指定
・sample.html 取得するファイル名
つまり...
「HTTP」プロトコルを利用して「example.com」サーバーにある「sample.html」ファイルを取得する
という意味になります。
また、ここで登場した**「example.com」はドメインと呼ばれる文字列であり
数字で表記されるIPアドレス**の別名として利用されます。
DNS
ドメインは文字列で記述されるため私たちにとってはわかりやすいものですが
インターネット上におけるコンピュータ同士の接続にはあくまでもIPアドレスが必要となります。
そしてこのドメインをIPアドレスに変換する仕組みを**DNS(Domain Name System)**と呼びます。
DNSではドメインとIPアドレスが紐づいて管理されているため、DNSを利用することで
ドメインからIPアドレスを知ることができます。
HTTP
Webページが表示される場合は、WebブラウザからWebサーバーにコンテンツを要求し
Webサーバーが要求されたコンテンツをWebブラウザに送信するというやりとりが行われます。
このコンテンツを送信するためのやりとりの手順と、やりとりするメッセージの書式は世界共通の仕様として決められています。
その世界共通のコンテンツをのやりとりの手順を**HTTP(HyperTextTransferProtocol)**と言います。
クライアント(Webブラウザ)とサーバー(Webサーバー)間のやりとり
1. Webブラウザのアドレス欄にURLを入力、あるいはWebサイト内のリンクをクリック
2. URLやリンク情報に基づいてWebサーバーに対してデータを要求
3. Webブラウザより要求を受け取ったWebサーバーは要求内容を解析
4. 解析した結果により、要求されたデータをWebブラウザへと応答
5. WebブラウザはWebサーバーより受け取ったデータを解析し、Webページとして表示
HTTPS
Webサイトを通じてショッピングやチケット予約などをする方も多くいると思いますが
中には「なりすましサイト」といったサイトもあり、個人情報が盗まれる危険性もあります。
そういった危険から大切なデータを守る仕組みがHTTPSと呼ばれます。
HTTPSとはHTTP over SSL/TLSの略でHTTPの通信において、暗号化方式である
**SSL(Secure Sockets Layer)やTLS(Transport Layer Security)**を利用することで
Webサイトを安全に使うことができます。
WebサイトでIDやパスワードなどの個人情報を入力する際にはHTTPSが使われているかをしっかり確認することが大切です。
大抵の場合はURLの隣に鍵のアイコンが表示されています。
まとめ
実際に調べてみると日常生活の中では聞いたことがあるけど意味までは知らない単語が沢山あり
改めて勉強になりました。
実務をやっていく上ではセキュリティ面などが非常に重要になってくると思いますので
引き続きネットワークやインフラ周りの知識もインプットしていかなければなと感じました!
参考記事
→エンジニアを目指す人は一冊持っておいて損はないと思います。。。!!