• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Webサーバ勉強会

on

  • 2,204 views


http://atnd.org/events/9124

Statistics

Views

Total Views
2,204
Views on SlideShare
2,045
Embed Views
159

Actions

Likes
2
Downloads
8
Comments
0

4 Embeds 159

http://d.hatena.ne.jp 155
http://webcache.googleusercontent.com 2
http://static.slidesharecdn.com 1
http://wiki.onakasuita.org 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Webサーバ勉強会 Webサーバ勉強会 Presentation Transcript

    • 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 MIMEMagicFile conf/magic
        • 106 </IfModule>
      • DNS の逆引き
        • 107 HostnameLookups Off
    • Content-Type の決定
    • 概要
      • 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 を
      •  判断するのか?
    • 拡張子ベース
      • ファイルの拡張子で判断
      • 102 TypesConfig /etc/mime.types
      •   ->  /etc/mime.types で定義するよ!
    • 拡張子ベース
      • /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
    • 拡張子ベース
      • ちょっといじってみる
        • text/parityfec txt
        • text/plain asc
      • 動作確認
        • $ curl http://mikeda.biz/test.txt -I
        • HTTP/1.1 200 OK
        • ...
        • Content-Type: text/parityfec
    • ファイルの中身ベース
      • ファイルの中身を見て判断
      • 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/jpeg
        • ファイルの先頭がビッグエンディアンの &quot;0xffd8&quot; なら jpeg
      • 動作確認
        • # mv mikeda.jpg mikeda.jpgxxx
        • $ curl http://mikeda.biz/mikeda.jpgxxx -I
        • HTTP/1.1 200 OK
        • ...
        • Content-Type: image/jpeg
      • -> 拡張子を変えても jpeg だとわかる!!!
    • ファイルの中身ベース
      • 設定かえると
        • # 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
    • わからないときのデフォルト
      • 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
    • わからないときのデフォルト
      • 変えてみる
        • 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] &quot;GET / HTTP/1.1&quot; 200 …
    • アクセスIPを逆引きするか
      • HostnameLookups On にしてみる
      • こんなアクセスログが出る
        • 38.99.65.221.nativehosting.com - - [01/Nov/2010:03:50:28 +0900] &quot;GET / HTTP/1.1&quot; 200
      • REMOTE_HOST 変数も置き換わる
      • パフォーマンスが低下する。
      •   どういうときにやるべき???
    • 終了