30万個ぐらいの静的ファイルを配信するサーバーの選び方

naoyaさんが公開されてるInside Hatena Bookmark’s Backend の資料などを読むと、mod_perlなサーバーやMySQLサーバーの選び方の参考になったりするわけですが、世の中を見渡してみても、静的コンテンツ(画像とか)を配信するサーバーの指南書らしきものはなかなか見あたりませんでした。

なので、経験を元に書いてみることにします。

Continue reading

HTTPSからHTTPのページに移動する際にIEのセキュリティー警告を回避できることについて

前のエントリ「HTTPSの認証ページから認証後、HTTPのページへセキュリティーの警告無しにリダイレクトする方法」 を書いたところ、「セキュリティーの警告を回避するようなことをユーザーフレンドリーというのはいかがなものかと」というようなトラックバック、はてなブックマークコメントなどを頂きました。

たしかに警告を回避することが「ユーザーフレンドリー」というのは言い過ぎだったと思います。でも以下のようなことも考えていただきたいのです。

Continue reading

HTTPSの認証ページから認証後、HTTPのページへセキュリティーの警告無しにリダイレクトする方法

SSLを入力画面から使用しないのはそろそろ「脆弱性」と判断してしまってよいころかも』という記事があるように、 パスワードを送信する段階で初めてSSLを使うはなく(パスワード入力フォームはHTTPで送信され、そのページのformタグのaction属性がhttpsになってる状態)、その前の段階でパスワード入力フォームが改竄されていないことを証明するために、パスワード入力フォームもHTTPSなページで表示することが望ましい状況になってきました。

で、そんなような仕組みを作った後で考えないといけないことは、認証後どうやってHTTPに戻すかと言うこと。つまり、すべてのページでHTTPSを使うのはサーバーに負荷がかかり現実的ではないので、認証する部分だけHTTPSで改竄や盗聴を防ぎ、その他のページはHTTPで済まそうという事です。図にするとこんな感じ。

  クライアント 経路 サーバー 経路 クライアント
ステージ1 ログインフォームへのリンクをクリック HTTPS ログインフォームHTMLを返す HTTPS ログインフォームを得る
ステージ2 ログインフォーム送信 HTTPS ログイン処理 HTTPS(*1) ログイン後の画面

普通に考えると、パスワードを認証後のHTTPレスポンスヘッダ(*1の部分)で
Location: http://www.exmaple.com/logined.html
とかすればいいんじゃないの?と思うのですが、そうするとIEで「セキュリティーで保護されていないページに移動しようとしています」というような警告ダイアログが出てきてしまいます。

そんな警告ダイアログが出るのはユーザーフレンドリーじゃないので、それを防ぐ方法。

Continue reading

GDataってもっと注目されてもいいんじゃないの&非公式開発者ガイド

GoogleがGoogle Data APIs (Beta) Developer’s Guideを公開しました。

Google Data APIs (略称はGData)というのは何かというと、RSSとAtomを組み合わせてそれを拡張したもので、フィードを取得したり、Atom publishing protocolを使ってデータを作成したり更新したり、また全文検索などのデータの問い合わせをできるようにしたプロトコルです。 GoogleのAPI戦略に新たな動き、GDataで「Google Calendar」のAPI公開 (MYCOM PC WEB)に簡単な説明が載っているので引用します。

REST、Atom 1.0およびRSS 2.0をベースにした新しいプロトコルである。GDataをサポートするサービスから情報を取得する場合、クライアントはHTTP GETリクエストを送り、サービスはAtomまたはRSSフィードを返す。またHTTP PUTリクエストを送ることでデータのアップデートも可能だ。Google Calendarのような個人サービスにアクセスするための認証にも対応する。拡張性が高く、Gmail、Google Reader、Bloggerなど、Googleの他の認証を必要とするサービスへの展開も今後の注目点となる。

2006/4/24日現在、GDataでGoogleで検索してもあまり関連記事が引っかからないことから注目度は低いようなのですが、意外と注目してもいいんじゃないのかな、と思っています。

Continue reading

ColdFusionは実は優れた言語ではないかという考察 – 2

ColdFusion-開発効率を求められる今だから知りたい高性能Webアプリケーションサーバーという連載を始めました。ここに書いてあることよりまともな批評や紹介をしているつもりなので、是非参考にしてください。

前回に引き続き、PerlとColdFusionを比べてみようかな、と言う企画。今回は言語面や開発者層という視点から。世の中にあまり知られていないColdFusionの紹介もかねて。

Continue reading

ColdFusion Administrator と JRun JMCを英語で立ち上げる方法

日本語環境に ColdFusionやJRunをインストールすると、それらの管理画面(ColdFusion AdministratorとJRun JMC)はデフォルトでは日本語画面になりますが、英語で管理画面を見たいというニーズもあるはず。

最近英語で立ち上げる方法を見つけたので、書いておきます。

Continue reading

2006年4月のActiveXパッチがあたったIEでFlashなどを従来通り表示させるためのJavaScript(Flashのバージョン検出機能付き)

Eolasの特許回避のため、2006年4月の月例パッチでInternetExplorerのActiveX周りに変更が加えられました。

具体的には、従来のようにHTMLページ内にobjectタグやembedタグでFlashを表示するように記述した場合、Flash上にマウスカーソルを持って行くと「このコントロールをアクティブ化して使用するにはクリックしてください」 と表示され、そのFlashがクリックを受け付けたり、マウスの位置情報を取得したりするためには(インタラクティブに振る舞うには)、一旦Flash上でクリックなどをしてFlashコントロールをアクティブ化しなくてはならなくなりました。

これの回避方法として、外部JavaScriptによって動的にobjectタグやembedタグを書き出す方法があるのですが、Adobeが公開している対策スクリプトがいまいちだったので、自作しました。

Continue reading

ColdFusionは実は優れた言語ではないか、と言う考察 – 1

ColdFusion-開発効率を求められる今だから知りたい高性能Webアプリケーションサーバーという連載を始めました。ここに書いてあることよりまともな批評や紹介をしているつもりなので、是非参考にしてください。

ある程度のアクセスがあるサイトでは、はてなに代表されるようなPerlやRuby on Railsなどが熱いのですが、Adobe(旧Macromedia)が出しているColdFusionと言う言語があります。当方が関わっているサイトで月間約5300万PVあるサイトがあるのですが、そこではColdFusionを使っています。

最近はてなのnaoyaさんがInside Hatena Bookmark’s Backendという記事で、はてなブックマークのサーバー構成などを公開されていたのですが、そこには月間4500万PVとありました。同じぐらいの規模を持つサイトとして、PerlとColdFusionを比べてみよう、と言う記事です。

Continue reading