本連載は、JSP/サーブレット+StrutsのWebアプリケーション開発を通じて、Java言語以外(PHPやASP.NET、Ruby on Railsなど)の開発にも通用するWebアプリケーション全般の広い知識・常識を身に付けるための連載です
皆さんが普段、Internet ExplorerやFirefox、Opera、SafariなどのWebブラウザでWebページ(ホームページやブログなど)を表示する際に、主にWebブラウザの上部にある文字列「URL(Uniform Resource Locator)」に一体どういう意味があるのかを考えたことはあるでしょうか。
Webページを閲覧するときなどには、URLを指定してページにアクセスします。URLは、Webページなどの場所を一意に表す文字列で、以下のような構成で記述されます。一般に、「(URL)アドレス」と呼ばれていたりもします。また、電子メールを送るときのメールアドレスもURLといえます。
「アドレス」(住所)という呼び名のとおり、これらの文字列にはちゃんと意味があるのです。「ディレクトリ名」「ファイル名」は分かりますよね。普段使っている「Explorer」のようなファイルシステムでおなじみの、1つの端末内にあるファイルの場所を表す区切りとファイルの名称です。ディレクトリは「フォルダ」といった方が分かる読者も多いかと思います。
では、それ以外はどんな意味があるのでしょうか。今回は、Webアプリケーション開発者どころか、Web利用者でももはや当たり前の“URL”に関する常識として、皆さんが日ごろよく見かける「HTTP」「HTTPS」「www」「イントラネット」「co」「jp」「GET」「POST」など、プロトコル・ドメイン・メッセージング・パラメータに関して説明します。実際にソースや設定ファイルも確認しながら“常識”を身に付けていきましょう。
ちなみに「URI(Uniform Resource Identifier)」というものがあり、URLはURIの一部なのですが、本稿ではURIの説明は割愛します。
まずPCや携帯電話を使ってWebページを閲覧したことがある人なら誰でも見たことがあるホスト名「www」についてです。ちなみに、「爆笑」という意味の「www」ではありません。「www」とは、World Wide Webの略称で、「Web」ともいいます。インターネット上でホスト名に「www」を設定しなければならないという決まりはありません。
インターネット上のサービスやアプリケーションは、ほとんどがプロトコル(通信規約、後述)である「TCP/IP(Transmission Control Protocol/Internet Protocol)」を利用しています。この標準化されたTCP/IPを利用することで、機種に依存することなくほかのさまざまなコンピュータ同士で通信できます。
インターネット上で主に提供されるHTTPというプロトコルによって、情報を提供する側(サーバ)と情報を利用する側(クライアント)がやりとりを行い、HTMLとしてテキスト情報が画面に表示されたり、音声情報がスピーカに出力されたりします。
このインターネット標準の技術を用いて構築した企業内のネットワークが、イントラネットです。イントラネットでは、インターネット用のソフトウェアやハードウェアを利用でき、さまざまな社内用ツールなどの製品もあるため、利用しやすくコストを抑えることもできます。また、機密性の確保が必要なシステムの構築にも、インターネットの技術を応用してアクセス制限やログの記録・監視ができます。
ドメイン名である「atmarkit.co.jp」の部分について、詳しく説明していきましょう。ドメイン名は、インターネット上の組織を識別するための名前です。意味としては、“世界”の“日本”(japan)の“企業”(commercial)の“@IT”(atmarkit)となります。
日本に当たる部分が、「トップレベルドメイン(Top Level Domain、TLD)」といい、「jp」は日本に割り当てられたトップレベルドメインで、世界中の国にドメインが割り当てられています。また、トップレベルドメインにはorg(非営利団体)やcom(商用)など国名と無関係なドメインもあり、分野別の「gTLD(generic Top Level Domain)」や国別の「ccTLD(country code Top Level Domain)」に分類されます。
企業に当たる部分を「セカンドレベルドメイン(Second Level Domain、SLD)」といい、組織の種類を表すドメインとなります。「co」は企業で、「ac」は大学や専門学校など、「go」は政府機関となり、ほかに「ed」「ne」「or」「gr」「ad」などが付与されます。
「atmarkit」の部分が「co.jp」内で割り当てられた組織固有のドメインとなりますが、組織の種類を表すドメイン(「co」に当たる部分)がない場合は、例えばyahoo.comのように、セカンドレベルドメインが組織固有のドメインとなることもあります。
ちなみに、TCP/IPで接続されるホスト名+ドメイン名には、サーバ特有のIPアドレスが割り当てられていて、IPアドレスを使用してもアクセス可能です。
http://202.218.219.160/fjava/index.html |
自分が使っている端末がWebサーバの役割をになっているときは、ホスト名+ドメイン名を「localhost」とします。ポート番号は、Tomcatインストール時のデフォルト設定だと8080を指定することが多いです。
スキームとは、表示する情報の種類を指定するものです。「http」がよく使われますが、厳密にはプロトコルとは異なるもので、ほかには「news」「file」「mailto」「telnet」などがあります。
先ほどから説明に出てくるプロトコルとは、デバイスやPC、ソフトウェアなどが相互通信するために制定された規約を意味します。前述のTCP/IPのほかに、下記のようにさまざまなプロトコルが存在します。
これらは世に存在するプロトコルのほんの一部ですが、Webアプリケーション開発で押さえておきたい基本的なものです。
次ページでは、リストで挙げたプロトコルについて1つ1つ解説します。
Copyright © ITmedia, Inc. All Rights Reserved.