102-107
Content-Type の決定&アクセス IP の逆引き
@mikeda
ざっくり2つ
 Content-Type の決定
102 TypesConfig /etc/mime.types
103 DefaultType text/plain
104 <IfModule mod_mime_magic.c>
105 M...
Content-Type の決定
概要
 Apache は返却するファイルの種類( MIME タイプ)を
Content-Type ヘッダで返していて、
 クライアントはそれを元に適切な処理を行う。
$ curl http://mikeda.biz/test.txt -I
H...
拡張子ベース
ファイルの拡張子で判断
102 TypesConfig /etc/mime.types
  →  /etc/mime.types で定義するよ!
拡張子ベース
 /etc/mime.types
 フォーマット → <MIME タイプ >   < 拡
張子 >
image/jpeg jpeg jpg jpe
text/plain asc txt
 動作確認
$ curl http:/...
拡張子ベース
 ちょっといじってみる
text/parityfec txt
text/plain asc
 動作確認
$ curl http://mikeda.biz/test.txt -I
HTTP/1.1 200 OK
...
Cont...
ファイルの中身ベース
ファイルの中身を見て判断
104 <IfModule mod_mime_magic.c>
105 MIMEMagicFile conf/magic
106 </IfModule>
 → conf/magic で定義...
ファイルの中身ベース
 conf/magic
→http://httpd.apache.org/docs/2.0/mod/mod_mime_magic.html
# JPEG images
0 beshort 0xffd8 image/jpe...
ファイルの中身ベース
 設定かえると
# JPEG images
0 beshort 0xffd8 image/jpegxxx
 Content-Type も変わる
$ curl http://mikeda.biz/mikeda.jpgxx...
わからないときのデフォルト
 103 DefaultType text/plain
→ よくわからなければ text/plain 返す
よ!!
 動作確認
# echo mikeda > mikeda
$ curl http://miked...
わからないときのデフォルト
 変えてみる
DefaultType text/mikeda
 変わった
$ curl http://mikeda.biz/mikeda -I
HTTP/1.1 200 OK
...
Content-Type: ...
アクセス IP の逆引き
アクセス IP を逆引きするか
 107 HostnameLookups Off
→ しない
 こんなアクセスログが出る
38.99.65.221 - - [01/Nov/2010:03:49:52 +0900]
"GET / HTTP/1...
アクセス IP を逆引きするか
 HostnameLookups On にしてみる
 こんなアクセスログが出る
38.99.65.221.nativehosting.com - -
[01/Nov/2010:03:50:28 +0900] ...
終了
Upcoming SlideShare
Loading in …5
×

Webサーバ勉強会

2,185 views
2,116 views

Published on


http://atnd.org/events/9124

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,185
On SlideShare
0
From Embeds
0
Number of Embeds
167
Actions
Shares
0
Downloads
9
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Webサーバ勉強会

  1. 1. 102-107 Content-Type の決定&アクセス IP の逆引き @mikeda
  2. 2. ざっくり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
  3. 3. Content-Type の決定
  4. 4. 概要  Apache は返却するファイルの種類( MIME タイプ)を Content-Type ヘッダで返していて、  クライアントはそれを元に適切な処理を行う。 $ curl http://mikeda.biz/test.txt -I HTTP/1.1 200 OK ... Content-Type: text/plain; charset=UTF-8 Apache はどのようにして Content-Type を  判断するのか?
  5. 5. 拡張子ベース ファイルの拡張子で判断 102 TypesConfig /etc/mime.types   →  /etc/mime.types で定義するよ!
  6. 6. 拡張子ベース  /etc/mime.types  フォーマット → <MIME タイプ >   < 拡 張子 > image/jpeg jpeg jpg jpe text/plain asc txt  動作確認 $ curl http://mikeda.biz/test.txt -I HTTP/1.1 200 OK ... Content-Type: text/plain; charset=UTF-8
  7. 7. 拡張子ベース  ちょっといじってみる text/parityfec txt text/plain asc  動作確認 $ curl http://mikeda.biz/test.txt -I HTTP/1.1 200 OK ... Content-Type: text/parityfec
  8. 8. ファイルの中身ベース ファイルの中身を見て判断 104 <IfModule mod_mime_magic.c> 105 MIMEMagicFile conf/magic 106 </IfModule>  → conf/magic で定義するよ!
  9. 9. ファイルの中身ベース  conf/magic →http://httpd.apache.org/docs/2.0/mod/mod_mime_magic.html # JPEG images 0 beshort 0xffd8 image/jpeg ファイルの先頭がビッグエンディアンの "0xffd8" なら jpeg  動作確認 # mv mikeda.jpg mikeda.jpgxxx $ curl http://mikeda.biz/mikeda.jpgxxx -I HTTP/1.1 200 OK ... Content-Type: image/jpeg → 拡張子を変えても jpeg だとわかる!!!
  10. 10. ファイルの中身ベース  設定かえると # JPEG images 0 beshort 0xffd8 image/jpegxxx  Content-Type も変わる $ curl http://mikeda.biz/mikeda.jpgxxx -I HTTP/1.1 200 OK ... Content-Type: image/jpegxxx
  11. 11. わからないときのデフォルト  103 DefaultType text/plain → よくわからなければ text/plain 返す よ!!  動作確認 # echo mikeda > mikeda $ curl http://mikeda.biz/mikeda -I HTTP/1.1 200 OK ... Content-Type: text/plain; charset=UTF-8
  12. 12. わからないときのデフォルト  変えてみる DefaultType text/mikeda  変わった $ curl http://mikeda.biz/mikeda -I HTTP/1.1 200 OK ... Content-Type: text/mikeda
  13. 13. アクセス IP の逆引き
  14. 14. アクセス IP を逆引きするか  107 HostnameLookups Off → しない  こんなアクセスログが出る 38.99.65.221 - - [01/Nov/2010:03:49:52 +0900] "GET / HTTP/1.1" 200 …
  15. 15. アクセス IP を逆引きするか  HostnameLookups On にしてみる  こんなアクセスログが出る 38.99.65.221.nativehosting.com - - [01/Nov/2010:03:50:28 +0900] "GET / HTTP/1.1" 200  REMOTE_HOST 変数も置き換わる  パフォーマンスが低下する。   どういうときにやるべき???
  16. 16. 終了

×