Open5

Apache

haseyuyhaseyuy

Virtual Host

  • 一つのサーバで複数のドメインを運用すること
haseyuyhaseyuy

リバプロ

  1. クライアントが、Server A にアクセスする。
  2. Server A は、自分のマシン内のファイルを参照せずに、
    Server B に Proxy接続する。
  3. Server B は、自分のマシン内のファイルを参照し、
    コンテンツを Server A に返す。
  4. 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 への プロキシリクエストに変換されることになります。

https://httpd.apache.org/docs/2.2/ja/mod/mod_proxy.html#proxypass

haseyuyhaseyuy

Location

  • Locationヘッダーがリダイレクト先のURLを保持する

Location レスポンスヘッダーはリダイレクト先の URL を示します。 3xx (リダイレクト) または 201 (created) ステータスレスポンスを返すときのみ意味を成します。

https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Location

リダイレクトの使用例

  • 別のドメインに移動するため
  • HTTPS強制

Apacheのconfファイルでの設定例

<VirtualHost *:443>
	ServerName example.com
	Redirect / https://www.example.com
</VirtualHost>
haseyuyhaseyuy

Accept-Encodingヘッダ

  • HTTP圧縮通信を行う際に、クライアントがサポートしている圧縮方式をサーバに教えるためのヘッダ
  • 利点としては、ネットワーク通信量を削減でき、ブラウザのレンダリング開始を早められる

HTTPリクエスト例

GET /index.html HTTP/1.1
Host: test.example.net
Accept-Encoding: gzip, deflate, br