ホームページ >ウェブフロントエンド >htmlチュートリアル >HTTP 学習ノート -- URL とリソース_html/css_WEB-ITnose
バスには路線番号があり、飛行機には便名があり、個人にはID番号があります。タクシーに乗って運転手に「石牌中国師範大学に行きたい」と言えば、彼はあなたの言いたいことを理解してくれるでしょう。 。 URL は、インターネット リソースの標準化された名前です。 URL は、電子情報の場所とその操作方法を示す電子情報を指します。
Uniform Resource Identifier (URI) は、URL と URN を含む、より一般的なタイプのリソース識別子です。 URL はリソースの場所を記述することでリソースを識別しますが、URN は現在の場所に関係なく、リソースを名前で識別します。
私たちが目にするほとんどの URL (「http://soccer.hupu.com/germany」など) は、スキーム (http)、ホスト (soccer.hupu.com)、パスの 3 つの部分で構成されています。 (/ドイツ)。 URL の構文はスキームごとに異なります。ほとんどの URL スキームの URL 構文は、次の 9 つの部分からなる一般的な形式に基づいています:
しかし、これらのコンポーネントをすべて含む URL はほとんどありません。
まず、計画とは何かを見てみましょう。
スキームは、実際には、指定されたリソースへのアクセス方法を指定する主要な識別子であり、URL の解析を担当するアプリケーションにどのプロトコルを使用するかを指示します。最も一般的に使用されている http (現在、ほとんどのブラウザーではこの部分を省略できます)、https (http の安全なバージョン)、ftp など。
ソリューション名では大文字と小文字が区別されません。つまり、「http://www.google.com」と「HTTP:www.google.com」は同等です (ブラウザで 1 回試すことができます)。
インターネット上のリソースにアクセスしたい場合、どのマシンがリソースをロードしたか、そしてそのリソースがマシン上のどこにあるかを知る必要があります。これは、ホストとポートによって提供される情報です。 URL。ホスト名を表すには、ホスト名 (www.hupu.com) または IP アドレス (112.90.32.241) を使用できます。ポート コンポーネントは、サーバーがリッスンしているポートを識別します。http のデフォルト ポートは 80、https のデフォルト ポートは 443 です。
ユーザーとパスワードのコンポーネントは通常、ftp プロトコルに表示されます。
ftp://ftp.prep.ai.mit.edu/pub/gnu この例にはユーザーとパスワードのコンポーネントはありません。 URL スキームがユーザー名とパスワードを要求すると、ユーザー名として anonymous が挿入され、デフォルトのパスワードが送信されます。
ftp://anonymous@ftp.prep.ai.mit..edu/pug/gnu この例は、指定されたユーザー名 anonymous を示しています。 @ 文字は、ユーザーおよびパスワードのコンポーネントを URL の残りの部分から区切ります。
ftp://anonymous:my_password@ftp.prep.ai.mit.edu/pub/gnu は、ユーザー名とパスワードを「:」で区切って指定します。
PCのファイルパスと同じです。各パスには独自のパラメータがあります。
URL のパラメータ コンポーネントは、文字「;」によって URL の他の部分と区切られた、名前と値のペアのリストです。これらは、リソースにアクセスするために必要な追加情報をアプリケーションに提供します。 ftp://ftp.prep.ai.mit.edu/pub/gnu;type=d
上記の例のパラメータ名とその値が何かわかりますか?
http://bbs:scoccer.com/15630262.html?item=123 を説明するために例を使用します。この例では、右側のコンテンツがクエリ コンポーネントです。クエリ コンポーネントを使用して、要求されたリソースを絞り込みます。
通常、クエリには「名前/値」メソッドを使用し、名前と値のペアは & で区切られます: http://bbs:scoccer.com/15630262.html?item=123&color=blue。
URL は、HTML ドキュメント内の特定の画像やセクションなど、リソース内のフラグメントを表すフラグメント コンポーネントの使用をサポートします。例:
http://bbs:scoccer.com/15630262.html#robben
*HTTP サーバーは、オブジェクトの断片ではなく、オブジェクト全体を処理します。サーバーからリソース全体が返された後、クライアントのブラウザーはそれを表示します。あなたにとって興味のある断片。URL には絶対と相対の 2 つの方法があります。私たちが通常目にするのは絶対 URL です。相対 URL は、URL の便利な省略形であり、URL のフラグメントまたは小さな部分です。開発経験のある人なら一度は目にしたことがあるのではないでしょうか。 HTML ドキュメント
<HTML><HEAD><TITLE>Joe's Tools</TITLE></HEAD><BODY><H1>Tools Page</H1><H2>Hammers</H2><P>Joe's Hardware Online has the largest selection of <A HREF="./hammers.html">hammers</A> on the earth.</P><H2><A NAME=drills></A>Drills</H2><P>Joe's Hardware has a complete line of cordless and corded drills,as well as the latest in plutonium-powered atomic drills, for thosebig around the house jobs.</P> ...</BODY></HTML>
を見てみましょう。ここで、./hammers.html は相対パスです。
相対パスであるため、相対オブジェクトが必要です。このオブジェクトは、いわゆるベース URL です。この例では、ベース URL は http://www.joes-hardware.com/tools.com です。では、ベース URL はどこから来たのでしょうか。
1. リソースで提供される表示。たとえば、HTML ドキュメントには、ベース URL を定義するタグ
3. 基本URLはありません。これは通常、これが絶対 URL であることを意味しますが、URL が不完全である可能性もあります。
では、相対 URL を絶対 URL に変換するにはどうすればよいでしょうか?下の写真を見てみましょう。
./hanmmers.html の図にあるアルゴリズムを使用します。
1) パスは ./hammmers.html、ベース URL は http://www.joes-hardware.com/tools.html です
2) スキームは空です。ベース URL (HTTP) のスキームを継承します。 )
3) コンポーネントは空で、ホストとポートのコンポーネントは継承されます
4) 相対 URL と継承されたコンポーネントをマージします: http://www.joes-hardware.com/hammmers.html。
『HTTP Authoritative Guide』には、アドレスバーにyahooを入力すると、ホスト名にwww.comと.comが自動的に挿入されると書かれていますが、対応する例は見つかりませんでした。
私たちはこれを日常生活で頻繁に使用します。ブラウザは、私たちがアクセスするウェブサイトを通じて、選択できるいくつかの完全なオプションを自動的に提供します。
URL が必要なリソースの場所を提供することはすでにわかっていますが、その欠点は、リソースが移動されると、URL を通じてリソースを見つけることができないことです。私たちのソリューションは、前述の URN です。
URN (統一リソース名) 統一リソース名。このアイデアは、リソース検索プロセスに別の中間層を導入することにより、リソースがどこに移動されても、サーバーはリソースの実際の URL を登録して追跡します。削除された場合、ロケーターはこのリソースを、要求されたリソースの実際の URL にリダイレクトできます。ただし、URL の置き換えには時間がかかりますが、これは Web 開発において緊急の問題ではありません。