SSIでやったほうが良いと聞きました。
しかし、「とほほのSSI入門 http://www.tohoho-web.com/wwwssi.htm#Point」を読むと、
セキュリティやパフォーマンスへの注意点が記載されています。
実務で使うのを前提として、具体的な注意点とはなんでしょうか?
また、実際に実務で、共通インクルードする際にSSIとPHPを使ってる割合はどれくらいなのでしょうか?
その他、SSIに関する実戦的な情報があれば、教えていただけると大変ありがたいです。
お手数ですが、宜しくお願い致します。
パフォーマンスとはサーバにかかる負荷、という観点で回答します。
SSIやPHPの負荷はサーバ環境や実装機能によって違うので、一概に定量的に言うことはできないのですが、経験上、SSIは意外と重たいです。
業務で使う場合は、そもそも共通インクルードのようなことはせず、あらかじめPHPなどを使って静的なHTMLファイルに出力することが多いですね。つまり、クライアントがアクセス時には、SSIもPHPも動きません。
Smartyのようなテンプレートエンジンがあれば、こうしたことが簡単にできます。
「SSI(Server Side Includes)は思っていたよりCPU負荷が高い」という報告もあります。
過去質問「PHP、SSIについて質問です」や「インクルードはPHP?SSI?」も参考にしてください。
いまどきSSIなんて使う人はいません。
パフォーマンスに関しては、簡単なプログラムを作って、実際に負荷計測してもらったほうがよいと思いますよ。
ご回答ありがとうございます。
そんな気がしてましたが、やはりですか。。
面倒なことに、SSIを使わないようにするには、、
具体的な理由をもって、説得しないといけないのですが。。
なにかありますでしょうか?
今、グローバルナビとか共通ファイルをを作るときの主流は、Smartyということでしょうか?
そういったアンケートや統計を見たことがないので、客観的根拠は示すことはできませんが、MVC開発を行っていれば、多かれ少なかれSmartyのようなテンプレートエンジンを使うはずです。
なお、テンプレートエンジンはPHPだけではなく、JavaやRubyなどでも実現手段が用意されています。
SSIを使わないようにするには、、具体的な理由をもって、説得しないといけないのですが。。
そういう事情でしたら、「ApacheBench で SSI のベンチマーク」などを参考に、ご自身でベンチマークするのが一番ですよ。
ありがとうございます。
MVC開発は行なっていないので、よくわかりませんが、色々参考になりました。
パフォーマンス以外でも、たとえばこうこうこういう理由で、セキュリティ上SSIは好ましくないとか、
そういった理由がより具体的にわかると助かります。
ご回答ありがとうございます。
Smarty知らなかったです。
いま、ガンガン使われてるのでしょうか?
つまり今、グローバルナビとか共通ファイルをを作るときの主流は、
Smartyということでしょうか?