webサーバ勉強会

Post on 02-Nov-2014

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

http://atnd.org/events/9124

TRANSCRIPT

102-107Content-Typeの決定&アクセス IPの逆引き

@mikeda

ざっくり2つ

Content-Type の決定102 TypesConfig /etc/mime.types

103 DefaultType text/plain

104 <IfModule mod_mime_magic.c>

105 MIMEMagicFile conf/magic

106 </IfModule>

DNS の逆引き107 HostnameLookups Off

Content-Typeの決定

概要 Apache は返却するファイルの種類( MIME タイプ)を

Content-Type ヘッダで返していて、 クライアントはそれを元に適切な処理を行う。

$ curl http://mikeda.biz/test.txt -IHTTP/1.1 200 OK...Content-Type: text/plain; charset=UTF-8

Apache はどのようにして Content-Typeを

 判断するのか?

拡張子ベース

ファイルの拡張子で判断

102 TypesConfig /etc/mime.types

  →  /etc/mime.types で定義するよ!

拡張子ベース /etc/mime.types フォーマット → <MIME タイプ >   < 拡

張子 >image/jpeg jpeg jpg jpetext/plain asc txt

動作確認$ curl http://mikeda.biz/test.txt -IHTTP/1.1 200 OK...Content-Type: text/plain; charset=UTF-8

拡張子ベース

ちょっといじってみるtext/parityfec txttext/plain asc

動作確認$ curl http://mikeda.biz/test.txt -IHTTP/1.1 200 OK...Content-Type: text/parityfec

ファイルの中身ベース

ファイルの中身を見て判断

104 <IfModule mod_mime_magic.c>105 MIMEMagicFile conf/magic106 </IfModule>

 → conf/magic で定義するよ!

ファイルの中身ベース conf/magic →http://httpd.apache.org/docs/2.0/mod/mod_mime_magic.html

# JPEG images0 beshort 0xffd8 image/jpegファイルの先頭がビッグエンディアンの "0xffd8" なら jpeg

動作確認# mv mikeda.jpg mikeda.jpgxxx

$ curl http://mikeda.biz/mikeda.jpgxxx -IHTTP/1.1 200 OK...Content-Type: image/jpeg

→ 拡張子を変えても jpeg だとわかる!!!

ファイルの中身ベース

設定かえると# JPEG images0 beshort 0xffd8 image/jpegxxx

Content-Type も変わる$ curl http://mikeda.biz/mikeda.jpgxxx -IHTTP/1.1 200 OK...Content-Type: image/jpegxxx

わからないときのデフォルト

103 DefaultType text/plain → よくわからなければ text/plain 返す

よ!!

動作確認# echo mikeda > mikeda

$ curl http://mikeda.biz/mikeda -IHTTP/1.1 200 OK...Content-Type: text/plain; charset=UTF-8

わからないときのデフォルト

変えてみるDefaultType text/mikeda

変わった$ curl http://mikeda.biz/mikeda -I

HTTP/1.1 200 OK

...

Content-Type: text/mikeda

アクセス IPの逆引き

アクセス IPを逆引きするか

107 HostnameLookups Off

→ しない

こんなアクセスログが出る38.99.65.221 - - [01/Nov/2010:03:49:52 +0900] "

GET / HTTP/1.1" 200 …

アクセス IPを逆引きするか

HostnameLookups On にしてみる

こんなアクセスログが出る38.99.65.221.nativehosting.com - - [01/Nov/2010:

03:50:28 +0900] "GET / HTTP/1.1" 200

REMOTE_HOST 変数も置き換わる パフォーマンスが低下する。  どういうときにやるべき???

終了

top related