CGI・PHP・XML関連リンク集
場当たり的ビジネスキーワード・用語集

CGI・PHP・XMLとは

CGI

Common Gateway Interface (CGI)は、ウェブサーバ上でユーザプログラムを動作させるための仕組み。現存する多くのウェブサーバプログラムはCGIの機能をサポートしている。

ウェブサーバプログラムの機能の主体は、あらかじめ用意された情報を利用者(クライアント)の要求に応じて送り返すことである。そのためサーバプログラム単体では情報をその場で動的に生成してクライアントに送信するような仕組みを作るのは難しい。そこで、サーバプログラムから他のプログラムを呼び出し、その処理結果をクライアントに送信することでそれを可能にする。その際の、サーバプログラムと外部プログラムとの連携法の取り決めがCGIである。

典型的には電子掲示板やアクセスカウンタ、WikiやBlogシステムを作る目的でCGIを用いる。これらはいずれも利用者の書き込みやアクセスによって表示内容が変わっていく動的なものであるため、CGIなどが必要なのである(ただし、CGI以外の技術で作ることも可能である)。

PHP・JSP・ASPなどは、HTML中に埋めこむ形でプログラムを組む点がCGIと異なるが、基本的には同類の技術である。

CGIプログラムは基本的にどのようなプログラミング言語で記述してもよいが、PerlやC言語が使われることが多い。なおC言語によるCGIは脆弱性やメモリリークの原因となることがあるので、多くの個人ウェブサイト用レンタルサーバーでは使用できないことが多い。レンタルサーバーの宣伝文句に「CGI利用可能」とあれば、ほぼ暗黙的にPerlによるCGIを指している。「CGIサンプル集」といった書籍でも暗黙的にPerlのコードであり(近年この状況は後発のスクリプト言語の台頭によって変わりつつある)、これらによってCGI=Perlのことだというふうな誤解をしている人もいる。

CGIで入力されたデータを扱う際のチェック不備によってクロスサイトスクリプティング(XSS)が発生することもあり、企業のサイトでの情報漏洩など、社会問題になっている。

PHP

PHPピー・エイチ・ピー)は、動的にHTMLデータを生成することによって、動的なウェブページを実現することを主な目的としたプログラミング言語、およびその言語処理系である。

PHPは、HTML埋め込み型のサーバサイド・スクリプト言語として分類される。この言語処理系自体は、C言語で記述されている。

ウェブサーバ上で動作し、ウェブサーバ上の文書が要求されるたびに、この文書に記述されたPHPのプログラムを実行し、その結果をウェブブラウザに対して送信する。

ウェブブラウザに送信されるデータは通常のHTMLであり、PHPのプログラムを含まない。この点でHTML埋め込み型のクライアントサイド・スクリプト言語(JavaScriptなど)と本質的に異なっている。

XML

Extensible Markup Language (エクステンシブルマークアップランゲージ、XML拡張可能なマーク付け言語、JIS X 4159:2002) は、データを記述するマークアップ言語を定義するためのメタ言語である。W3C (World Wide Web Consortium) により1998年2月にXML1.0の勧告が公開された。

XMLが開発される以前に、データを記述するマークアップ言語を定義するためのメタ言語として、SGMLという技術が既に存在していた。SGMLはいくつかの分野で普及していたが、仕様が複雑で処理系の開発が難しく、またSGML文書の処理が重いという欠点があった。XMLではこのようなSGMLの欠点を解決すべく文法を簡素化した。技術者にとってはXMLはSGMLよりも習得しやすい技術であり、また処理系の開発が容易になったことで低コストでXML技術を利用できるようになった。現在ではXMLは非常に広く普及している技術である。XMLに準拠した技術にXHTML、RSS、SOAP、SVGなどがある。

スキーマ言語によって文書構造を定義し、XML ParserでそのXML文書(XMLインスタンス)の妥当性を検証できる。スキーマ言語としてはDTD、XML Schema、RELAX NGなどがある。スキーマ言語によって文書構造が定義され、XML文書の妥当性を検証するソフトウェアによって妥当性が検証されたXML文書のことを「妥当なXML文書」(valid XML document) という。一方、XML文書のマークアップ規則に従って記述されただけの文書を「整形式XML文書」(well-formed XML document) という。XML文書を、より厳密に構造化した文書やデータとして扱いたい場合は、文書構造をXML SchemaやRELAX NGなどのスキーマ言語で記述し、XML文書に対してその文書構造に従っていることを検証する(妥当性検証を行う)ことによって、従来アプリケーションプログラムで行ってきたXML文書に含まれるデータに対するデータ型のチェックや値の範囲のチェックが可能となる。

XMLだけでは最低限の書式しか決められていないため、XMLの力を引き出す各種の関連技術が別途標準化されている。現在も多くの関連技術の標準化作業が行われている。XMLで扱う文字コード(文字の符号化方式)は、標準ではUTF-8とUTF-16(Unicode)であり、英語以外の言語も扱いやすくなっている。 XMLではUTF-8とUTF-16以外の文字コード(UCS-4、EUC-JP、Shift_JIS、EBCDICなど)の文書も扱うことができるが、XML Parser を使う場合は、その XML Parser がその文字コードをサポートしている必要がある(UTF-8とUTF-16は標準でサポートしている)。

プログラムからXML文書を処理する方法として、DOMやSAXなどのAPIが標準化されている。他の方法でXML文書を処理することも可能である。スタイルを指定する技術(スタイルシート)としてXSLやCSSなどがある。

フリー百科事典『ウィキペディア(Wikipedia)』より引用


現在のリンク数 : 1
最終更新日 : 2006/09/07-13:50

キーワード AND OR

分類   [相互リンク]
相互リンク
   人材派遣・アルバイトナビ new!
   神戸の宿泊は
   堺市の内科・入院は金岡病院
   京都のインプラントはインプラントラボ
▲ TOP

- LinkVisor -