Entering Passive Mode

カテゴリ 'WWW' の記事
< 1 2 3 4 5 >

Java Servlet & JavaServer Pages

ASP から遅れること 1 年、
Java はいかにも Java らしい答えを市場に示した。
Java Servlet と JavaServer Pages である。

Applet が、小さな(let)アプリケーションなら、
Servlet とは、小さなサーバプログラムと訳できる。

Servlet は、Servlet API で定められた規格に沿って、
Java 言語で書かれたサーバ側プログラムのことである。
Servlet API は SSJS や ASP の例を生かし、
オブジェクト指向で明確にクラス化されている。

PHP: Hypertext Preprocessor

Java が低迷している中、SSJS、ASP に次いで
頭角を現したのが PHP である。

PHP は、当初は個人用のツールだったが、
その製作者が GPL でソースを公開したことで広まった。
PHP も CGI を拡張する考えで作成されたものであり、
初期の頃はフォーム処理の自動化に主眼が置かれていた。

PHP は、スクリプトからロジックをなるべく排除し、
CGI の基本要素を拡張して利便性を高めていた。

WWW と Java

今でこそ有名になった Java だが、
WWW での Java の普及には長い道のりがあった。

Java は、Sun Microsystems が提唱した、
プログラミング言語と、処理系の技術規格である。

言語としての Java は C++ を参考に作られ、
言語側に高度なメモリ管理機能を備えた、
完全オブジェクト指向の言語である。

また、実行系としてはコンパイル型言語であるが、
これが出力するのは擬似的な機械語とファイル形式であり、
特定の CPU や OS に依存しないように作られている。
この機械語は、Java バイトコードと呼ばれ、
通常、クラスファイルとして出力される。

Active Server Pages (ASP)

Microsoft が打ち出した ASP は、
SSJS 技術をベースとしたものである。

開発に利用する言語としては、SSJS と同様に、
JavaScript を使うことが可能である。
この JavaScript は、JScript と呼ばれ、
Microsoft の独自拡張機能も備えている。

また、別の言語として、Visual Basic から派生した、
VBScript も選択肢に含んでいる。

Server-Side JavaScript (SSJS)

JavaScript には動的に HTML を生成する機能がある。
これは、クライアント側の技術としてはあまり相応しくない。

実は、Netscape Communications 社は、
JavaScript をサーバ側技術にも適用することを考えており、
JavaScript を搭載した Web ブラウザの発表後すぐに、
Server-Side JavaScript 技術を製品化した。

Server-Side JavaScript (SSJS) は、CGI と同様、
サーバ側でプログラムを実行する仕組みであるが、
HTML に対して最適化されている技術である。

JavaScript: 動的なクライアント側ページ

HTTP の基本的な所については大方見てきた。
HTTP は現在においてもそれほど大きく変わってはいない。
Web ベースのシステムの表現力が向上しているのは、
HTTP よりも上の層の技術が発達してきたからである。

では、Web ブラウザ側の技術について考えてみよう。
最初の頃は、HTML による静的表現しかできなかったが、
クライアント側で動的な表現を行うための、
JavaScript というプログラミング言語が生まれた。

これも、Netscape Communications 社が起源であり、
Web ブラウザ Netscape Navigator に搭載された。

Cookie の動作

Fiddler

では、Cookie の動作を追いかけてみよう。

Cookie は色々なサイトで使われているので、
どのサイトでも構わないのだが、
単純なテスト用のページを作成してみた。

■ Cookie デモ
http://loafer.jp/mixi/cookie-test.cgi

まず、上の URL にアクセスしてみよう。
「訪問カウンタ: 1 回目」と表示される。

Cookie: 状態管理の仕組み

URL にパラメータを埋め込む方法での状態管理には、
色々な問題や制約が付きまとう。

この問題に一石を投じたのは、かつて WWW 時代の黎明期に、
Microsoft と Web ブラウザのシェア争いをしていた、
Netscape Communications 社である。

HTTP の機能に不満を持っていた、Netscape は、
独自の方法によって状態を管理する仕組みを作り、
同社の Web サーバ製品であった Enterprise Server と、
Web ブラウザ Navigator に搭載した。

状態遷移

一般的に、コンピュータシステムを利用する際は、
「ログイン」⇒「使用」⇒「ログアウト」の手順を踏む。

このようなシステムは、状態(ステート)を持つ。
例えば「ログイン前」や「ログイン中」などが状態だ。

状態と密接に関係しているものに、画面表示がある。
例えば、ログイン前の状態なら、
ログイン用の画面が表示され、
ログイン中の状態なら、メニューなどが表示される。
画面の表示は、状態によって異なるのだ。

WWW 認証の問題点

WWW 認証は HTTP によって規格化されており、
その機能を Web サーバ側に任せることで、
Web サーバの負担を最小限にすることができる。

しかし、WWW 認証にはいくつか問題点がある。

・認証ユーザの登録作業が Web サーバに依存している。
・認証手法への対応が Web ブラウザに依存している。
・認証情報が全てのリクエストに追加されてしまう。
・直接的な認証解除(ログアウト)手段がない。
・匿名アクセスを併用した「選択式」にできない。

< 1 2 3 4 5 >
このページのトップへ戻る
© 2008 Project Loafer/Project Fireball and all blog writers. Powered by Nucleus CMS