Enviar pesquisa
Carregar
ノンプログラマのためのウェブサーバ入門
•
5 gostaram
•
7,143 visualizações
Atsu Yamaga
Seguir
サーバの基礎と挙動を私の知り合いに知ってもらう為に作りました
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 30
Baixar agora
Baixar para ler offline
Recomendados
HTTP/2 in nginx(2016/3/11 社内勉強会)
HTTP/2 in nginx(2016/3/11 社内勉強会)
Yoko TAMADA
nginx入門
nginx入門
Takashi Takizawa
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
Yasutaka Hamada
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会
Yasutaka Hamada
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料
Yasutaka Hamada
Puppetのススメ
Puppetのススメ
Gosuke Miyashita
中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング
勲 國府田
Recomendados
HTTP/2 in nginx(2016/3/11 社内勉強会)
HTTP/2 in nginx(2016/3/11 社内勉強会)
Yoko TAMADA
nginx入門
nginx入門
Takashi Takizawa
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
Yasutaka Hamada
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会
Yasutaka Hamada
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料
Yasutaka Hamada
Puppetのススメ
Puppetのススメ
Gosuke Miyashita
中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング
勲 國府田
Webサーバのチューニング
Webサーバのチューニング
Yu Komiya
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
npsg
initとプロセス再起動
initとプロセス再起動
Takashi Takizawa
Serverspec at Testing Framework Meeting
Serverspec at Testing Framework Meeting
Gosuke Miyashita
Webサーバ勉強会03
Webサーバ勉強会03
oranie Narut
serverspecでサーバ環境のテストを書いてみよう
serverspecでサーバ環境のテストを書いてみよう
Daisuke Ikeda
Serverspecの活用tips紹介
Serverspecの活用tips紹介
Daisuke Ikeda
Serverspecを使ってサーバ5000台のBaculaクライアントをテスト
Serverspecを使ってサーバ5000台のBaculaクライアントをテスト
Ken Sawada
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
Midori Oge
今日から使い始めるChef
今日から使い始めるChef
Masahiro NAKAYAMA
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネット株式会社
Word press on conoha このべん #3
Word press on conoha このべん #3
Wataru OKAMOTO
ZabbixとAWS
ZabbixとAWS
真乙 九龍
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Daisuke Ikeda
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2
学 松崎
Server specのご紹介
Server specのご紹介
Akira Kaneda
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会
Yasutaka Hamada
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
do_aki
動画共有ツール
動画共有ツール
tamtam180
ポリドックにServerspecを教えよう!
ポリドックにServerspecを教えよう!
ftnk
AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)
Akio Katayama
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
Amazon Web Services Japan
Mais conteúdo relacionado
Mais procurados
Webサーバのチューニング
Webサーバのチューニング
Yu Komiya
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
npsg
initとプロセス再起動
initとプロセス再起動
Takashi Takizawa
Serverspec at Testing Framework Meeting
Serverspec at Testing Framework Meeting
Gosuke Miyashita
Webサーバ勉強会03
Webサーバ勉強会03
oranie Narut
serverspecでサーバ環境のテストを書いてみよう
serverspecでサーバ環境のテストを書いてみよう
Daisuke Ikeda
Serverspecの活用tips紹介
Serverspecの活用tips紹介
Daisuke Ikeda
Serverspecを使ってサーバ5000台のBaculaクライアントをテスト
Serverspecを使ってサーバ5000台のBaculaクライアントをテスト
Ken Sawada
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
Midori Oge
今日から使い始めるChef
今日から使い始めるChef
Masahiro NAKAYAMA
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネット株式会社
Word press on conoha このべん #3
Word press on conoha このべん #3
Wataru OKAMOTO
ZabbixとAWS
ZabbixとAWS
真乙 九龍
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Daisuke Ikeda
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2
学 松崎
Server specのご紹介
Server specのご紹介
Akira Kaneda
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会
Yasutaka Hamada
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
do_aki
動画共有ツール
動画共有ツール
tamtam180
ポリドックにServerspecを教えよう!
ポリドックにServerspecを教えよう!
ftnk
Mais procurados
(20)
Webサーバのチューニング
Webサーバのチューニング
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
initとプロセス再起動
initとプロセス再起動
Serverspec at Testing Framework Meeting
Serverspec at Testing Framework Meeting
Webサーバ勉強会03
Webサーバ勉強会03
serverspecでサーバ環境のテストを書いてみよう
serverspecでサーバ環境のテストを書いてみよう
Serverspecの活用tips紹介
Serverspecの活用tips紹介
Serverspecを使ってサーバ5000台のBaculaクライアントをテスト
Serverspecを使ってサーバ5000台のBaculaクライアントをテスト
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
今日から使い始めるChef
今日から使い始めるChef
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
Word press on conoha このべん #3
Word press on conoha このべん #3
ZabbixとAWS
ZabbixとAWS
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2
Server specのご紹介
Server specのご紹介
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
動画共有ツール
動画共有ツール
ポリドックにServerspecを教えよう!
ポリドックにServerspecを教えよう!
Semelhante a ノンプログラマのためのウェブサーバ入門
AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)
Akio Katayama
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
Amazon Web Services Japan
Webサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのこと
TrinityT _
G0042 h
G0042 h
silicone69
baserCMSテーマ制作チュートリアル
baserCMSテーマ制作チュートリアル
Ryuji Egashira
Sflt17 meteorではじめる最速ウェブアプリ開発
Sflt17 meteorではじめる最速ウェブアプリ開発
Hironao Sekine
Version管理 1
Version管理 1
hakoika-itwg
Hive undocumented feature
Hive undocumented feature
tamtam180
Aws elastic beanstalk-handson-summit2012
Aws elastic beanstalk-handson-summit2012
Akio Katayama
AWSとmod_pagespeedで楽々サクサク高速化!!
AWSとmod_pagespeedで楽々サクサク高速化!!
aasakawa
Xamppでお手軽cms開発環境を手に入れる
Xamppでお手軽cms開発環境を手に入れる
Takashi Uemura
Hadoop on LXC
Hadoop on LXC
俊夫 森
オフィスに1台!全文検索Fess
オフィスに1台!全文検索Fess
Shinsuke Sugaya
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング
純生 野田
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
Yasuhito Yabe
Active directory の移行 (2011年6月の資料)
Active directory の移行 (2011年6月の資料)
wintechq
Web技術勉強会23回目
Web技術勉強会23回目
龍一 田中
XML と PHP のイケナイ関係 (セキュリティ的な意味で) -Introduction of XXE attack and XML Bomb with...
XML と PHP のイケナイ関係 (セキュリティ的な意味で) -Introduction of XXE attack and XML Bomb with...
Kousuke Ebihara
2012/6/10 Webのパフォーマンスを考える @ 【第三回】初心者向けホームページ勉強会
2012/6/10 Webのパフォーマンスを考える @ 【第三回】初心者向けホームページ勉強会
tama200x Kobayashi
Powershell勉強会 v4 (もっと新しいバージョンがあります。)
Powershell勉強会 v4 (もっと新しいバージョンがあります。)
Tetsu Yama
Semelhante a ノンプログラマのためのウェブサーバ入門
(20)
AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
Webサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのこと
G0042 h
G0042 h
baserCMSテーマ制作チュートリアル
baserCMSテーマ制作チュートリアル
Sflt17 meteorではじめる最速ウェブアプリ開発
Sflt17 meteorではじめる最速ウェブアプリ開発
Version管理 1
Version管理 1
Hive undocumented feature
Hive undocumented feature
Aws elastic beanstalk-handson-summit2012
Aws elastic beanstalk-handson-summit2012
AWSとmod_pagespeedで楽々サクサク高速化!!
AWSとmod_pagespeedで楽々サクサク高速化!!
Xamppでお手軽cms開発環境を手に入れる
Xamppでお手軽cms開発環境を手に入れる
Hadoop on LXC
Hadoop on LXC
オフィスに1台!全文検索Fess
オフィスに1台!全文検索Fess
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
Active directory の移行 (2011年6月の資料)
Active directory の移行 (2011年6月の資料)
Web技術勉強会23回目
Web技術勉強会23回目
XML と PHP のイケナイ関係 (セキュリティ的な意味で) -Introduction of XXE attack and XML Bomb with...
XML と PHP のイケナイ関係 (セキュリティ的な意味で) -Introduction of XXE attack and XML Bomb with...
2012/6/10 Webのパフォーマンスを考える @ 【第三回】初心者向けホームページ勉強会
2012/6/10 Webのパフォーマンスを考える @ 【第三回】初心者向けホームページ勉強会
Powershell勉強会 v4 (もっと新しいバージョンがあります。)
Powershell勉強会 v4 (もっと新しいバージョンがあります。)
Último
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
Último
(8)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
ノンプログラマのためのウェブサーバ入門
1.
ノンプログラマのための ウェブサーバ入門
Ver0.2(2011-11-11) 0.2:文字が潰れてる部分の修正
2.
自己紹介
factory_ay と申します。 Twitter_id:@factory_ay (http://twitter.com/#!/factory_ay Facebook:factory.ay (http://www.facebook.com/factory.ay 仕事では・・・ サーバ、ネットワーク、Java&ScalaやPHP、JS/Html デザイン&コーディング以外をごった煮でやってます。 Webシステム全般、GEO/位置情報、形態素解析、スクレイピング を仕事にしてます。 趣味では・・・ トラブルバスター、と言う名のなんでも屋をやってます。 壊れたPC&サーバ、クラックされたサイトの復旧、MT/WPの修正、ポス レジ、業務用冷蔵庫の修理など、こちらもごった煮で修理してます。
3.
案外知られてないウェブサーバの動きと機能 他のデザイナさんやコーダーさん達と仕事をし ていた時に、何度かサーバという物がよく分か らない、危険なモノ、という認識の方が結構居ま した • 何となくファイルをUPすれば後は何とかなる • (コーダ/デザイナの)私には関係ないもの •
管理者じゃないと触っちゃいけないもの ↓ いえいえ、理解していると良い事がありますよ
4.
サーバを分かると何が嬉しいか? • 動きがわかる事で不安が減る 『よく分からないモノ』と仕事をしているから、一々不安がったり仕事の手が止まったり・・・ • トラブルの際、対処が数十倍早くなる トラブルは起こさないのがベストですが、起きた時どうすれば良いのか知っとこう・・・ •
動きが分かれば仕事の範囲が分かり担当の 振り分けも早くなる ドコで起きたトラブルか?が分かってないので、誰に頼んで良いのかが分からない、とか・・・ • 同じ仕事でも、より早く解決出来るすべを見 つける事が出来る ・今までプログラムでやっていた事を、設定ファイル一つで簡単に変更! ・同じプログラムでも、より柔軟に動かす事が出来るようになる
5.
同じ結果を出すためでも、より『うまいやり方』を 知っていれば、作業時間が倍、数十倍違ってくるこ とは、この業界よくある。
要は・・・ 素早く仕事を終わらせ、早く帰ろう!! それじゃゴタクはさておき・・・
6.
サーバの種類 •
ウェブサーバ • アプリケーションサーバ • DNSサーバ • センドメールサーバ • データーベースサーバ • メールサーバ 今回、ココで取り扱うのは『ウェブサーバ』と『アプリケーションサーバ』です。
7.
ウェブサーバのお仕事 •
ブラウザが何を欲しがっているのか聞く • 目的の物を探しだしてくる • 見つけたファイルを準備してブラウザに送る • ソレをどうすれば良いのかブラウザに教える • PHPやCGIなど、プログラム言語だった場合 アプリケーションサーバに処理を渡す PHPとかCGIとかプログラム以外全般を担当
8.
アプリケーションサーバのお仕事 • PHPやCGIのこと • ウェブサーバからファイルを貰ってお仕事 •
ファイルの一部/全体を書き換えてブラウザ毎 にファイルを生成、送り出す • 基本的にブラウザが処理出来る結果を返す • プログラム言語によって様々 • 独自の設定ファイルを持つ
9.
ブラウザとサーバの動き サーバ
ブラウザ ②ドメインをチェック ①このURLの中身が欲しい ドメイン:www.test.com http://www.test2.com/first.html サーバに設定されているドメインのリスト 1.www.test1.info /public/test1/ 2.www.test2.com )→合うドメインの設定を見つけたらこのフォルダを /public/test2/ ドキュメントルートとする(そのドメインの一番上のフォルダ) 3.www.test3.jp /public/test/ ③ドメイン以降のパスと実際のフォルダを合わせる http://www.test2.com/first.html /public/test2/index.html /public/test2/images/ /public/test2/css/ /public/test2/first.html /public/test2/second.html ④見つかったファイルをブラウザに投げる
10.
もうちょっと詳しく・・・ ブラウザとサーバは、アクセスされる際にヘッダと呼ば れる情報でお互いの設定を交換している • リクエストヘッダ(ブラウザからサーバへ ・ユーザーエージェント(ブラウザの種類とバージョン ・クッキー読み込み ・キャッシュなどその他特殊な情報 • レスポンスヘッダ(サーバからブラウザへ ・ステータスコード ・クッキー保存 ・キャッシュの有効期間 ・ファイルの種類
11.
ステータスコード? • ファイルの状況を3桁の数字で表す機能 サーバからブラウザに真っ先に送られる最重要情報 200:ファイル有ったよ!表示してね(`・ω・´) 404:ファイルなかった・・・(´・ω・`) 301:ココじゃなく別のURLに移動してね( ´∀`) 304:自分のキャッシュ使え!聞くな(゚Д゚) 500:
エラった・・・何も聞くな・・・(‘A`) よく『キャッシュで表示が変わらない〜』っての はサーバから304ステータスコードが送らてい るため、新しいHTMLをブラウザが使わないか ら
12.
実際の中身をみてみよう
13.
ウェブサーバのお仕事 実際にヘッダを読めるようになる必要はありません。ただの参考です ウェブサーバはブラウザがキチンと表示できるように 色んな助けをしてます • どんなファイルなのか?画像なのかHTMLなのか →サーバによって、ファイルがその場で開いたりDLされたり、と言った動きの秘密 • エンコード情報を教えます →HTMLのcharsetを読む前に使われます •
キャッシュの期間を教えます →キャッシュをいつまで使えば良いのか?時間を過ぎたキャッシュは自動で破棄 • ファイルの大きさを教えます →ファイルのDLが後何分で終わるのか?の計算など
14.
裏を返すと・・・ •
サーバ全体で動きがおかしい • フォームなどで文字化けが頻出 • キャッシュがいつまでも使われて手間 • 全体的に不安定 • 表示されるはずの物がDLされてしまう • プログラムには何の問題も無いのにバグる ↓ こういった問題はウェブサーバの設定がおかし くなってしまってるからかも?
15.
ウェブサーバの特殊機能 ファイルを探してブラウザに送る、以外に実は様々な機能があります •ファイル圧縮転送機能 詳細は次のページ •ディレクトリ一覧表示 /でアクセスされた際にフォルダの中身丸見え化する機能 •ベーシック認証 •Favicon •インデックスファイル /でアクセスされた際にindex.htmlが表示されるのはこの機能 index.phpやindex.cgiの設定もこの機能を弄ったもの
etc…
16.
圧縮機能 HTMLなどをブラウザに送る際に、サーバが圧縮を掛 けてサイズを劇的に小さくしてから送る機能 サーバ
ブラウザ このURLの中身頂戴 ファイル発見! http://www.test2.com/first.html /public/test2/first.html 圧縮前:500KB 圧縮の設定がある場合 (AddOutputFilterByType DEFLATE text/html) /public/test2/first.html 圧縮後のファイルを送信 圧縮後:50KB ブラウザが自動で解凍&表示
17.
実例(圧縮設定前)
18.
実例(圧縮設定後)
もっと重たいHTMLなら劇的に変わります
19.
ウェブサーバの機能を使おう 多様なウェブサーバの機能しかし、設定ファイルを弄るのは何 かと面倒で危険 •ミスしたらサーバがおかしくなる •サーバ管理者しか触れないファイル
↓ そこで.htaccess
20.
.htaccess? こういうファイル名の設定ファイル • ウェブサーバの全機能を書き換え出来ます • 置いたフォルダ、下の階層にまで影響します。 •
上には影響しないので、サーバ全体ではなく 特定のドメインやフォルダだけ設定可能
21.
設定例 • 圧縮機能を使う AddOutputFilterByType DEFLATE
text/html text/css application/x-javascript • エラーの際に独自のHTMLファイルを使う ErrorDocument 500 /wwww/sc/500.html • ファイルの取扱を変える AddType application/x-httpd-php .inc (.incファイルもPHPとして取り扱う AddType “application/vnd.ms-excel” .xls (Excelを開けるようにする • インデックスファイルを変更する DirectoryIndex index.html index.htm index.cgi index.php • エンコードの設定を変える default_charset = "UTF-8" 更に・・・
22.
URL書き換え機能 ウェブサーバの、ドメインを認識して、ファイルを探して ブラウザに渡す機能を改変することで、面白い事が出 来るようになる •
サーバの引越し • ドメインの縛りを消す • 存在しないファイルをあるように見せかける • 下の階層にあるファイルを自由に移動できる
23.
URLリライト1 • www 無しのドメインからwww有りに移動
RewriteEngine on RewriteCond %{HTTP_HOST} ^test.com ←設定内容 RewriteRule ^(.*)$ http://www.test.com/ [R=301,L] ステータスコード301が発動し、ブラウザは自動で移動する http://test.com/first.html → http://www.test.com/ • パスそのままでドメインをお引越し RewriteEngine on RewriteCond %{HTTP_HOST} ^test.com RewriteRule ^(.*)$ http://www.nantoka.com/$1 [R=301,L] ステータスコード301が発動し、ブラウザはパスを保ったまま自動で移動する http://test.com/first.html → http://www.nantoka.com/first.html
24.
URLリライト2(マッピングを書き換える • 実際のフォルダ構成とは異なるURLを作る 設定前:http://test.com/sub1/sub2/image/logo.jpg →
404エラー RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^sub1/sub2/image/(.*)$ /test/image/$1 [QSA,L] 設定後: http://test.com/sub1/sub2/image/logo.jpg → /test/image/logo.jpg • パラメーターを隠す http://test.com/view.php?name=abc&day=2011-11-10 というURLを静的に RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^view/(.*?)/(.*?)/$ /view.php?name=$1&day=$2 [QSA,L] 設定後: http://test.com/view/abc/2011-11-10/ でアクセス可能に
25.
URLリライト3(異なるドメイン間で同じファイルを読む • 3つのドメインで共通のファイルを使いたい www.nantoka.com、test.nantoka.com、ssl.nantoka.com それぞれフォルダが、/nantoka/www/、/nantoka/test/、/nantoka/ssl/ バラバラで相対にも出来ない。でも画像は同じ物を使いたい・・・ /common/image/ ←このフォルダを3つのドメインで共用する場合
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/image/(.*)$ /common/image/$1 [QSA,L] http://www.nantoka.com/image/logo.jpg → /common/image/logo.jpg http://test.nantoka.com/image/logo2.jpg → /common/image/logo2.jpg http://ssl.nantoka.com/image/small/logo.jpg → /common/image/small/logo.jpg
26.
URLリライトの機能 どのドメインにどのファイルを割り当てるのか? という部分を自由に変えることが出来るので、 非常に柔軟なURL設計が可能になる。 •
テスト用構成から一瞬で本番環境に • 複数のファイルを纏めてスッキリ • 複雑なパラメーターを隠してスッキリ • 面倒な引越し、サブドメイン対応も簡単 • 徐々に肥大化するサイトのダイエットも
27.
.htaccessとアプリケーションサーバ .htaccessを使うと、PHPの設定を書き換える事 ができます。 •文字コードを変更する php_value default_charset UTF-8 •エラーを表示してより細かく出す php_flag
display_errors On php_value error_reporting 2047 •アップできるサイズを増やす php_value upload_max_filesize 8M 特定のドメイン、特定のフォルダの限定で簡単に変更可能に!
28.
まとめ • HTMLを表示する、という裏には色んな仕組
みが隠れている。 • ウェブサーバには色んな機能が隠されている • より理解すれば、もっと早く上手に仕事をこな すことが出来る • トラブルの防止/対処の為是非学んでください • 大体のエラーはプログラム上で起きる・・・し かし、探しても全く見つからない場合、ひょっ とするとウェブサーバの方に原因があるのか も?
29.
すぺしゃるさんくす このスライドを作る上で刺激を受けた人達 • このみさん • ハムさん(@h2ham •
あかぬーさん(@toshiyuki83 • 竜さん(@tricknotes • rtiさん(@super_rti • ロックンロールデザイニスト山本さん (@WEBdeDB
30.
ご閲覧ありがとうございました 貴方のくりえいてぃぶらいふに幸運を。 •ツッコミして頂けると喜びます •時々バージョンアップします •分からない箇所あれば聞いて貰えると喜びま す
2011-11-10 ver0.1
Baixar agora