IT系でよく使われるカタカナ言葉を、自身の振り返りの意味も込めて簡単に整理してみました。
自分が分からないと感じたところを広く浅く書いているので、「ここの説明が足りねぇよ!」という箇所もありますがご了承ください。
インフラ
システムやサービスの基盤となる設備。サーバやネットワークのこと。
現実で例えると水道や電気といった「生活を支えるもの」で、ITにおいては「安定したサービスを支える設備」と言えるかと思います。
サーバ
クライアント(ユーザ)に対してサービスを提供するソフトウェアやコンピュータのこと。
WebサーバやDBサーバ等名称が色々あるけど、名前が違うだけでコンピュータであることに変わりはない。
ネットワーク
複数のコンピュータをつないでデータを送受信できるようにする仕組み。
web
ネットワークの機能の一つ。
様々な情報を発信、閲覧できる仕組み。webのお陰でQiitaで記事を投稿できたり、動画サイトで動画の閲覧が出来る。
IPアドレス
32ビット(8bit × 4)の整数値で構成される、ネットワーク上の機器に割り当てられるインターネット上の住所。 32桁の2進数で表すことが出来るが、読みやすいように10進数で表現する。
例) 11000000.10101000.10000000.11111111
↓
192.168.128.255
IPアドレスは、ネットワーク部(固定) とホスト部(可変) で区分けされる。ネットワーク部で 「どこの住所まで通信を送るか」 、ホスト部で 「どのデバイスに通信を届けるか」 が決まる。
例) 192.168.128.0 ~ 192.168.128.255の256パターンのIPアドレスを使う場合
ネットワーク部:192.168.128で固定
ホスト部:0 ~ 255 で可変
マンションで例えるとネットワーク部は「マンションの名前」、ホスト部は「マンション内の部屋(○○号室)」です。
サブネットマスク
「IPアドレスのうち、ココまでがネットワーク部で、ココからがホスト部だよ」 と表記する方法。
・CIDR表記
IPアドレスの後ろに/を書き、ネットワーク部のビット数を記載する
例) 192.168.128.0/24
・サブネットマスク表記
IPアドレスの後ろに/を書き、ネットワーク部を表すビット部分を1に、ホスト部を表すビット部分を0にする。
例) 192.168.128.0/255.255.255.0
上記どちらの書き方も、「IPアドレスは192.168.128.0 ~ 192.168.128.255の256パターンがある」ということを表している。
ドメイン名
コンピュータやネットワークを識別する名前(IPアドレスの代わり)。
例)www.spring.com
ドメイン名はピリオドで区切って、.comとか.workとか、ドメイン名の一番右を「トップレベルドメイン」と呼ぶ。
DNS
ドメイン名をIPアドレスに変換する管理システム。
・ネームサーバ
ドメイン名とそれに紐づくIPアドレスが登録されているサーバ。階層化されていて、ドメインの区切りごとにサーバがある。
・フルリゾルバ(キャッシュDNSサーバー)
ネームサーバにIPアドレスを訪ね、その結果をクライアントに返すサーバ。
例として、「www.spring.com」というドメインにアクセスした時、どういう処理が動いているのかを図にしました。
言葉で説明すると、
- DNSサーバにドメインを問い合わせる
- DNSサーバからIPアドレスを取得
- 取得したIPアドレスをもとに、webサーバへアクセスする
- webサーバからHtmlなどのデータがレスポンスとして返ってくる
みたいな流れです。
プロトコル
ネットワークを利用して通信するために決められた約束事・ルール。プロトコルのお陰で、コンピュータ同士のOSや内部の仕様が違っていても、データの送受信が可能になる訳です。
お仕事で例えると「就業規則」でしょうか。社員同士が就業規則を遵守することで不快な思いをすることなく仕事が出来たり、手順を守って何かの申請をすることで、業務が円滑に進むイメージです。
TCP/IP
HTTP
HTMLなどのコンテンツの送受信に用いられる、アプリケーション層のプロトコル(通信時の約束事)。クライアントがHTTPリクエストを送り、サーバがHTTPレスポンスを返すことで、クライアント側にHTMLなどのコンテンツが表示される。
HTTPリクエスト&レスポンスは、〇〇ライン+ヘッダ+ボディで構成される。
-
HTTPリクエスト
- リクエストライン
- 例) GET /index.html HTTP/1.1
- リクエスト方法 / 対象のコンテンツ / プロトコルのバージョン
- ヘッダ
- 例) Host:spring.com Accept-Encoding:gzip,deflate...
- クライアントから送信する追加情報
- ボディ
- オプション
- リクエストライン
-
HTTPレスポンス
- ステータスライン
- 例) HTTP/1.1 200 OK
- プロトコルのバージョン / ステータスコードの数字 / ステータスコードのテキスト
- ヘッダ
- 例) Content-Type:text/html charset=UTF-8...
- 日付、コンテンツタイプ、文字コードなどを指定
- ボディ
- HTML
- ステータスライン
getリクエストとpostリクエストの使い分け
get | post | |
---|---|---|
用途 | 新しい情報(webページなど)を取得する場合 | 入力値をもとにデータベースなどを更新する場合 |
パラメータの 渡し方 |
URLの後にデータをつけて送信 | htmlのフォームに入力して送信 |
URL | 例) spring.com/create?user=taro | 例) spring.com/insertuser |
送信可能 データ |
テキストデータ | テキストデータ&バイナリデータ |
参考文献