Open5
Apache
Virtual Host
- 一つのサーバで複数のドメインを運用すること
リバプロ
- クライアントが、Server A にアクセスする。
- Server A は、自分のマシン内のファイルを参照せずに、
Server B に Proxy接続する。 - Server B は、自分のマシン内のファイルを参照し、
コンテンツを Server A に返す。 - Server A が、3.で取得したコンテンツをクライアントに返す。
(クライアントからは、Server B の存在が見えません。)
+--------+ 1---> +----------+ 2---> +----------+
| CLIENT | | Server A | | Server B |
+--------+ <---4 +----------+ <---3 +----------+
ProxyPass
ローカルサーバのアドレスが http://example.com/ であると します。すると、
ProxyPass /mirror/foo/ http://backend.example.com/
と設定すると http://example.com/mirror/foo/bar への リクエストが内部的に http://backend.example.com/bar への プロキシリクエストに変換されることになります。
Location
- Locationヘッダーがリダイレクト先のURLを保持する
Location レスポンスヘッダーはリダイレクト先の URL を示します。 3xx (リダイレクト) または 201 (created) ステータスレスポンスを返すときのみ意味を成します。
リダイレクトの使用例
- 別のドメインに移動するため
- HTTPS強制
Apacheのconfファイルでの設定例
<VirtualHost *:443>
ServerName example.com
Redirect / https://www.example.com
</VirtualHost>
Accept-Encodingヘッダ
- HTTP圧縮通信を行う際に、クライアントがサポートしている圧縮方式をサーバに教えるためのヘッダ
- 利点としては、ネットワーク通信量を削減でき、ブラウザのレンダリング開始を早められる
HTTPリクエスト例
GET /index.html HTTP/1.1
Host: test.example.net
Accept-Encoding: gzip, deflate, br