A day without laughter is a day wasted. -19ページ目

A day without laughter is a day wasted.

その昔、チャップリンが言ったらしい。

WebDAV:

 HTTPを使ってコンテンツのアップロードや更新を行うプロトコル

 FTPと違ってHTTPを使うのでインターネットで利用するポートを使える

 

WebSocket:

 Webブラウザなどでそう方向通信を実現するための技術

 クライアントとサーバでハンドシェイクで接続した後は、独自のプロトコルで軽量な双方向通信が出来る。

 

IDN(Internationalized Domain Name):

 日本語などをドメイン名に利用できるようにする仕組み。

 PunycodeというアルゴリズムでASCII化している。

 

FTPのパッシブモード:

 制御用コネクションはクライアントから、データ転送用コネクションはサーバから行う、アクティブモードが基本。

 ただし、ファイアウォールの設定などにより、サーバからのコネクション確率が難しい場合は、データ転送用コネクションもクライアントから行う、パッシブモードという。

IPアドレスの設定を自動化する。

 

1:最初はDHCPサーバがどこにいるかわからないので探す(ブロードキャスト)

 DHCP DISCOVER

 

2:DHCPサーバから提供可能なIPアドレスを返信(ユニキャスト)

 DHCP POFFER

 

3:受信したIPアドレスを利用することを通知(ブロードキャスト)

 DHCP REQUEST

 ※ブロードキャストで送る理由は、DHCPサーバが複数あった場合に、どちらを採用したか通知するため。

 

4:3のリクエストに対する応答(ユニキャスト)

 DHCP PACK

 

DHCPでは、IPアドレスだけで無くDNSサーバの情報なども同時に通知してくれる。

DHCPリレーエージェントを使えば、ルータを超えてもDHCP通信が可能になる。

IPv6では、DHCPサーバが設置されていなくてもIPアドレスを自動設定可能。

ただし、DNSサーバなどの情報を自動設定する場合にはDHCPv6を用いる。

洗濯物を外に出したら、湯気が出ていてワロタ

インターネットで通信を行うためには、IPアドレスが必要。

WebではURLを使用してサイトにアクセスするが、内部的にはURLからIPアドレスに変換されている。

 

IPアドレスは管理が難しいため、ドメイン名で管理をする。

ドメイン名に紐づくIPアドレスを集中的に管理する仕組みがDNS。

 

IPアドレス意外にもいろいろな資源管理を行っている。

Aレコードは、IPアドレス。

複数のホスト名に同一のIPアドレスを対応させることも出来るし、一つのホスト名に複数のIPアドレスを対応させることも出来る。

 

ネームサーバはNSレコード。

ゾーン分割を行ってサブドメインに権限委譲する場合は、そのネームサーバをNSレコードで指定する。

 

1:ループバックアドレス

 現在使用しているコンピュータを指す

 IPv4の127.0.0.1に相当

 

2:グローバルユニキャストアドレス

 IPv6ネットワーク全ての中で一意

 IPv4のグローバルアドレスに相当

 

3:リンクローカルユニキャストアドレス

 ルータを超えない範囲内

 

4:ユニークローカルユニキャストアドレス

 インターネット接続が発生しない範囲

 IPv4のプライベートアドレスに相当

 

5:マルチキャストアドレス

 複数のアドレス宛に同報通信を行うためのアドレス

 IPv4のマルチキャストとブロードキャストを兼ねた役割

 

2〜4はスコープが異なる。

リンクローカル<ユニークローカル<グローバル

 

5でブロードキャストが廃止されたのは、マルチキャスト機能で十分だから。

マルチキャストで全グループに同報通信をするとブロードキャスト。

たくさんのユーザからのリクエストを一旦受け取り、Webサーバに中継する。

 

メリット

・複数のWebサーバでサービスを稼働させることで負荷分散できる。

・サーバのコンテンツのうち、変化しない部分をキャッシュしておくことで、Webサーバの負荷低減が出来る。

・暗号化通信をリバースプロキシサーバが行うことで、Webサーバの負荷低減が出来る。

 

DMZ1にリバースプロキシサーバを配置して公開、DMZ2にWebサーバを配置することで、外部から直接DMZ2のWebサーバにアクセスできないため、コンテンツの改ざん防止が期待できる。

 

DMZは日本語訳すると、非武装地帯というカッコいい名前になる。

DeMilitarized Zoneから来ているらしい。

 

 

内部ネットワークからインターネット接続をする場合に、通信を中継するサーバ

 

 

メリット例

・キャッシュを用いることで高速なアクセスが可能

・通信を遮断出来るので安全

 

 

設定方法

・手動設定

 

・自動設定(DHCPサーバまたはDNSサーバ側で設定されている前提)

 WPADプロトコルに対応していることが必要

 

・設定ファイルから自動設定(PAC)

 Javascriptで書かれた設定ファイル(pacファイル)を読み取って自動で設定

 

HTTPには認証のためのプロトコルが用意されている。

 

ベーシック認証は、パスワード秘匿されないので盗聴が可能(SSL/TLSを使用している場合は安全らしい)

 

ダイジェスト認証は、秘匿化のためにハッシュを用いる。

 1:サーバ側でランダムな値をつくる。

 2:画面側でランダムな値を受信する。

 3:画面側でユーザがIDとパスワードを入力すると、ランダムな値と合わせてハッシュ化される。

 4:3でハッシュ化した情報を、サーバ側でも同様に作成して、受信した情報と比較して認証を行う。

 

 

最初に HTTPS でアクセスして Strict-Transport-Security ヘッダーが返されると、

ブラウザはこの情報を記録して、以降は HTTP を使用してサイトへアクセスすると、

自動的に HTTPS を使用するようになる。

 

1年間期限でHTTPSを使用する設定(サブドメインにも適用される)

Strict-Transport-Security: max-age=31536000; includeSubDomains

 

さらに、preloadオプションを付与することで、

初回アクセス時でもHTTPS通信を行うことが可能だが、

仕様書では定義されていない非公式なオプションらしい。