LoginSignup
0
0

More than 3 years have passed since last update.

[Webを支える技術]Webの用途とURIについて

Last updated at Posted at 2021-05-10

Webの用途

  • Webサイト
    • サイト、ブログ、ショッピング、動画投稿、画像......
    • さまざまなサイトをサーバーの裏側を知らなくてもブラウザさえあれば利用できる
  • ユーザーインターフェース
    • HTMLとCSSを使用して構築している例が多い
      • Netflix
      • Switch
      • テレビ
      • 各種ソフトウェア
      • ルーターの設定
  • API
    • 主にプログラムで使用する、データを取得したりする

URI

Uniform Resource Identifierの略
URIとは、Web上にあるソースの場所を表すプロトコルです。
たとえば、このような形のURLがあったとします

URL
https://www.google.com/search?q=aaaa&rlz=1C1FQRR_jaJP939JP939&oq=aaaa&aqs=chrome..69i57j0i4i433j0i4l5j0l2j0i4.1251j0j7&sourceid=chrome&ie=UTF-8

これはURIの構文に分解するとこのようになります。
URIスキーム https://
ホスト名 www.google.com
パス名 /serch?
クエリパラメータ q=aaaa&rlz=1C1FQRR_jaJP939JP939&oq=aaaa&aqs=chrome..69i57j0i4i433j0i4l5j0l2j0i4.1251j0j7&sourceid=chrome&ie=UTF-8

このような、URLの書き方を策定したものがURIとなります(厳密には違う)
URIの説明はこちらの記事が一番わかりやすいとおもいます。

関係性としては

  • URI
    • URL
    • URN

のような形になっています。

URIを作るときの考え方

良いURIは次の三つがあげられます。

  • リソースの名前であること
  • 寿命が長い
  • ブラウザがアドレス欄に表示する

これら三つを意識したURIが良いURIと思います。
CoolURIとも呼ばれます。

このような経験をしたことがあると思います。

  • 昔見たURLにアクセスしたら404だった
  • URLにアクセスしたら望んでたものと違うサイトだった

Webサービスを運用していく上でURI(上の例で言えばパス名など)を変更しないというのは難しいものだと思います。なので、作るときになるべく変わりにくい設計で作る必要があります。

言語に依存した、拡張子やファイル名を含まない

これを含んでしまうと言語に左右されたWebページとなってしまい、もし言語を変えようとした場合、URIが変わってしまいます。

not_cool_URI
https://sample/directry/home.php
https://sample/directry/HomeServret

メソッドやセッションIDを含まない

これを含むURIは、システムがリファクタリングされた際に変更となる可能性があります。
メソッドを含む場合、メソッド名が変更となったときには、URIが変わってしまいます。

not_cool_URI
https://sample/directry/home?action=userPage

セッションIDを含む場合、IDが変わってしまうとURIが変わってしまいます。

not_cool_URI
httos://sample/directry/home?session=123142323

URIはリソースを含めて名詞にする

URIとは、リソースの名前です。なので、名詞にする必要があります。
例を見ながら解説します

not_cool_uri
https://sample/user/show/micchili

URIはHTTPのメソッドと同じになるように作成するように心がけましょう。
このURIの場合showの部分が問題です。URIでアクセスすると、サーバーからHTTPメソッドが返されますが、HTTPは単一のメソッドです。つまり、このURIではshowと書かれている通り、リソースを取得することがわかりますが、URIが動詞となっています。
URIとHTTPは名詞と動詞の関係となるように作成しましょう。

URIを変更したとき

良いURIとは、変わらないURIです。しかし、時にはどうしても変更となってしまう場合があります。そういったときには、リダイレクトを使って古いURIにアクセスした人を新しいURIへ転送してあげましょう。

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0