MochiuWiki : SUSE, EC, PCB
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
Web - URIのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
Web - URI
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == URI (Uniform Resource Identifier) とは、インターネット上のリソースを一意に特定するための識別子であり、統一資源識別子と訳される。<br> <br> URIは、スキームと呼ばれる部分から始まる。<br> 例えば、https:// や ftp:// といったプロトコルである。<br> <br> このスキームの後に、実際のリソースを特定するための情報が続く。<br> https://www.example.com:8080/path/to/resource?key=value#section<br> <br> 上記の例では、httpsがスキーム、www.example.comがホスト名 (ドメイン名)、8080がポート番号を表す。<br> その後のパス (/path/to/resource) は、サーバ上の特定のリソースの場所を示す。<br> クエリパラメータ (?key=value) では追加の情報を渡しており、フラグメント (#section) は文書内の特定の場所を指定する。<br> <br> URIの重要な特徴は、柔軟性と拡張性である。<br> インターネット上のあらゆるリソースを識別できるよう設計されており、Webページのアドレスだけでなく、メールアドレス (mailto:) やファイル共有プロトコル (ftp:) 等も表現できる。<br> <br> また、URIは人間が読める形式であることも特徴である。<br> 例えば、https://www.example.com/products/books というURIでは、exampleドメインの製品カテゴリーの中の書籍に関するページであることが推測できる。<br> <br> ただし、URIには制約もある。<br> 使用できる文字は限られており、特殊文字や空白等は適切にエンコードする必要がある。<br> 例えば、スペースは「%20」として表現される。<br> <br><br> == URI (Uniform Resource Identifier) == リソースを一意に識別するための文字列の形式である。<br> URLとURNの上位概念として位置づけられる。<br> <br> URIは、以下に示す形式で表現される。<br> <スキーム名>:<スキーム依存部分> <br><br> == URL (Uniform Resource Locator) == リソースの場所を指定する形式である。<br> URIの一種であり、主に、Web上のリソースのアドレスを表現する。<br> <br> URLは、以下に示す要素で構成される。<br> * スキーム (プロトコル) * ホスト名 * ポート番号 (省略可) * パス * クエリパラメータ (省略可) * フラグメント (省略可) <br><br> == URN (Uniform Resource Name) == リソースの名前を指定する形式である。 場所に依存せず、永続的な識別子として機能する。<br> <br> 例: ISBN番号やUUID等<br> <br><br> == URIとURLの違い == 主な違いを以下に示す。<br> * URLは、<u>どこにあるか</u>を示すものである。 * URNは、<u>何であるか</u>を示すものである。 * 全てのURLはURIであるが、全てのURIがURLというわけではない。 * URLは場所が変更されると機能しなくなる可能性があるが、URNは永続的である。 <br> URIは識別子の大きな枠組みを提供しており、その中でURLは場所、URNは名前を指定する役割を果たす。<br> <br> ==== URLの例 ==== https://www.example.com:8080/path/to/page?id=123#section1<br> <br> * スキーム *: https * ホスト名 (ドメイン名) *: www.example.com * ポート *: 8080 * パス *: /path/to/page * クエリパラメータ *: id=123 * フラグメント *: section1 <br> 以下に示す記述もURLである。<br> mailto:example@example.com<br> <br> * スキーム *: mailto * スキーム依存部分 *: example@example.com <br> mailtoは、以下に示す理由からURLに分類される。<br> * リソースへのアクセス方法 (メールクライアントの起動) を指定している。 * 操作可能なアクション (メール送信) を提供している。<br>mailtoは、メールクライアントを起動するための操作的なスキームである。 * URNのような永続的な識別子ではなく、mailtoは通信手段を示している。 <br> ==== URN (URLではないURI) の例 ==== urn:isbn:0-486-27557-4<br> <br> * スキーム *: urn * 識別子タイプ *: isbn * 識別番号 *: 0-486-27557-4 <br> 以下に示す記述もURNである。<br> # 書籍のISBN (ISBNは本を一意に識別する) isbn:0-486-27557-4 # UUID (UUIDはグローバルにユニークな識別子) uuid:550e8400-e29b-41d4-a716-446655440000 # 法人識別子 (LEIは金融機関を一意に識別する) lei:969500P37YF46QNWK024 <br><br> == クエリパラメータ == クエリパラメータを含めた文字列全体はURLである。<br> <br> 例: https://example.com/search.php?keyword=太郎&page=2&sort=desc#section1<br> <br> 上記のURLは以下のような構造に分解できる。<br> これら全ての要素を含めて、1つのURLとして扱う。<br> * スキーム (プロトコル) *: https:// * ホスト名 *: example.com * パス *: /search.php * クエリ文字列 *: ?keyword=太郎&page=2&sort=desc * フラグメント識別子 *: #section1 <br> <u>※注意</u><br> <u>クエリパラメータを含む完全なURL文字列は、以下に示すような特徴があることに注意する。</u><br> <u>ただし、セキュリティ上の理由から、パスワード等の機密情報をURLのクエリパラメータに含めることは避けるべきである。</u><br> * 有効なURLとして扱われる。 * プログラムで解析可能。 * Webブラウザで正しく解釈される。 <br> * 文字エンコーディング *: <syntaxhighlight lang="php"> // 日本語等の場合はURLエンコードが必要 $encodedKeyword = urlencode("太郎"); $url = "https://example.com/search.php?keyword=" . $encodedKeyword; </syntaxhighlight> *: <br> * 複数パラメータの結合 *: <syntaxhighlight lang="php"> // クエリパラメータは、&で連結 $params = [ 'keyword' => '太郎', 'page' => 2, 'sort' => 'desc' ]; $queryString = http_build_query($params); $url = "https://example.com/search.php?" . $queryString; </syntaxhighlight> *: <br> * 最大長の制限 *: Webブラウザによって異なるが、通常2,000〜8,000文字程度 *: 長すぎるクエリは、POSTメソッドを使用する。 *: <br> * PHPでの取り扱い例 *: <syntaxhighlight lang="php"> // URLの解析 $url = "https://example.com/search.php?keyword=太郎&page=2"; $parsedUrl = parse_url($url); print_r($parsedUrl); // 出力 Array ( [scheme] => https [host] => example.com [path] => /search.php [query] => keyword=太郎&page=2 ) </syntaxhighlight> *: <br> * クエリ文字列の解析 *: <syntaxhighlight lang="php"> parse_str($parsedUrl['query'], $queryParams); print_r($queryParams); // 出力 Array ( [keyword] => 太郎 [page] => 2 ) </syntaxhighlight> <br><br> {{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux |image=/resources/assets/MochiuLogo_Single_Blue.png }} __FORCETOC__ [[カテゴリ: Web]]
Web - URI
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse