熊本大学大学院教授システム学専攻
目次:
【第8回】URIとサーバ:SCP,FTP
第1章
第3章
第4章
現在の場所: ホームページ > [2]HTMLとCSS > 【第8回】URIとサーバ:SCP,FTP > 第4章 > URIとサーバ上のファイル名

URIとサーバ上のファイル名

【本節の目的】
アップロードしたファイル名とURIの関係を確認します。

サーバ上に新たなフォルダの作成及びそのフォルダへのアップロード

WWWサーバ上にフォルダを作って、その下にHTMLファイルをアップロードして、 新しいWebページを公開しましょう。

[演習:WWWサーバ上にフォルダを作ってファイルを格納]

以下の手順に従って、 WWWサーバ上にフォルダを作ってファイルを格納し、 Webブラウザで表示を確認して下さい。

  1. WinSCPによりWWWサーバに接続
    前章までの内容を思い出しながらWinSCPにより、WWWサーバに接続して下さい。
  2. アップロード先のフォルダの指定(WWWサーバ側のフォルダの移動)
    アップロード先は、以前説明したように、Webページ公開専用フォルダである public_html である必要があります。そのため、 WinSCPの右側のサーバ側ペインで、public_html に移動してください。
    移動するには、いつもPC上で行っているように、 フォルダアイコンをダブルクリックします。
  3. WWWサーバにフォルダを作成
    public_htmlフォルダの中には、 以前アップロードしたHTMLファイルがあると思いますが、 そこに、「w06」というフォルダを作りましょう。作り方は、右クリックから、「New」→「Directory」を選び、 フォルダ名を入力すれば良いですね。

    w04を作成

    作成したら早速、フォルダ w06 に移動しましょう。

    w04へ移動

  4. ファイルのアップロード
    「week06\ex1.html」を、 今移動したフォルダにアップロードして下さい。

    ex1を選択

    ↓

    w04を作成

  5. アップロードしたWebページの確認
    ブラウザを開いて、 アドレスバーに以下のURIを入力してからEnterキーを押して、 今アップロードした自分のWebページが表示されることを確認して下さい。
       http://st.gsis.kumamoto-u.ac.jp/ユーザID/w06/ex1.html 

WWWサーバ上のファイル名(パス名)とURI

第2章でアップロードした(Webページを公開した)後に、 うまく公開されたかWebブラウザで確認しましたが、 そのとき入力した URIを覚えていますか?

   http://st.gsis.kumamoto-u.ac.jp/ユーザID/ex1.html 

でしたね。このとき、WWWサーバ上にアップロードしたファイル名は何でしたか? また、アップロードしたフォルダはどこでしたか?

第2章でアップロードしたときのURIのパス部とこれらのフォルダ/ファイル名を比較してみると、 以下のような対応関係が成り立っていることが分ります。

  URIのパス部 WWWサーバ上
フォルダ名 /ユーザID /public_html
ファイル名ex1.htmlex1.html

一方、前節でWWWサーバにw06フォルダを作成して公開した(アップロード)時は、 どうだったでしょうか。そのときの関係は、以下のようになりますね。

  URIのパス部 WWWサーバ上
フォルダ名 /ユーザID/w06 /public_html/w06
ファイル名ex1.htmlex1.html

これらのことから分かるように、WWWサーバ上の個人専用のフォルダ (ホームディレクトリ)中にある public_html 以下のフォルダ及びファイルの構成が、 そのままURIのパス部になります。ただし、URIのパス部では、 「/public_html」 ではなく、「/ユーザID」となります。

ということで、以下のようなURIは、 次のようなリソースを表わしていることを理解して下さい。

   http://WWWサーバ名/xxxx/yyyy/zzz.html 

「WWWサーバ名で指定されたサーバ上の、 xxxx というユーザのホームディレクトリ (xxxx専用のフォルダ) 中にある、 Web公開専用のフォルダ (public_html) の下の yyyyというフォルダにある zzzz.html というファイル。」


特別なファイル名 - index.html -

WWWサーバにアップロードするファイルのファイル名は、 半角英数字であればとくに制限は無いのですが、 「index.html」というファイル名には、特別の意味があります。 このファイル名をつけたファイルは、 ファイル名を指定しなくても、 このファイルを含むフォルダ名を指定しただけでアクセスできるようになります。

[演習:index.html による公開]

以下の手順に従い、WWWサーバ上のHTMLファイルのファイル名を 「index.html」にしたときの振る舞いを理解して下さい。

  1. WWWサーバ上のファイル名変更
    WinSCPにより、WWWサーバ上の「/public_html/w06/ex1.html」のファイル名を 「/public_html/w06/index.html」に変更して下さい。変更の仕方は、 Windows上でのファイル名の変更と同じです。 サーバペインで、「/public_html/w06」フォルダを表示させ、 「ex1.html」ファイルを選択した後、 右クリックして現われるメニューから「名前の変更」を選び変更して下さい。
  2. index.htmlをWebブラウザで確認
    ブラウザのアドレスバーに以下のURIを入力して、 今ファイル名をindex.htmlに変更したファイルをWebブラウザで確認します。 もちろん、URIを入力した後はEnterキーを押してください。
       http://st.gsis.kumamoto-u.ac.jp/ユーザID/w06/index.html 
    これは、単にサーバ上でファイル名を変えただけなので、 当然同じページが表示されるだけですよね。
  3. Webブラウザでファイル名を省略
    今度は、Webブラウザのアドレスバーで「index.html」を消し、
       http://st.gsis.kumamoto-u.ac.jp/ユーザID/w06/ 
    の状態で、Enterキーを押してください。このとき、 最後の「/ (スラッシュ)」は、消さないように注意して下さい。
    何も、表示が変わりませんね?! 変ではありませんか?
  4. 確認
    上のように、index.htmlを省略したURIが、 本当に index.html を示しているかどうかを確認するために、 サーバ上に存在しないファイル名を指定してみましょう。
    以下のように、
       http://st.gsis.kumamoto-u.ac.jp/ユーザID/w06/abc.html 
    存在しないファイル名をアドレスバーに追加して、 Enterキーを押してください
    すると、「そのようなファイルは、見つからない」と、 Webサーバがエラーページを表示しますね (表示は英語ですよ)。
    ここで、再度、Webブラウザのアドレスバーのファイル名を消し、
       http://st.gsis.kumamoto-u.ac.jp/ユーザID/w06/ 
    の状態に戻し、Enterキーを押してください
    すると、やはり、index.html と同じ内容が表示がされます。
    つまり、 URI 中の index.html というファイル名は省略できるのです。

実は、Webサーバでは、URIの最後が、「/ (スラッシュ)」で終っている場合は、 「サーバで指定されたファイル名 (多くのWebサーバではindex.html)」 が省略されたと解釈して、 そのファイル(index.html)を表示しようとします。 ですから、もし、index.htmlファイルが無いと、 「Forbidden: You don't have permission...」と、 権限が無いのでアクセスできない旨のエラーが表示されます。 (実のところは、index.html というファイルが無いだけなのですが。)
試しに、以下のURIをクリックしてみて下さい。「~sugitani/」以下に、 index.html ファイルがありませんので、そのときのエラーが表示されます。

Copyright (C) Kenichi Sugitani and Hideki Matsuda 2003-2006, All Rights Reserved