テクノロジー

2022年7月22日

URL / HTTPメソッドとは

目次

1. Webとは
2. Webを支えるクライアント / サーバとは
3. HTTPとは
4. URL / HTTPメソッドとは
5. Webアプリケーションとは
6. IPアドレスとは
7. TCP/IPとは
8. ドメイン / DNSサーバとは
9. ポート番号とは
10. 代表的なプロトコル
11. Webアプリケーションを支えるサーバの種類

*上記のリンクにアクセスすることで、続きをDIVER Learningsで確認できます。

ゴール

  • URLとはなにかを理解する
  • HTTPメソッドとはなにかを理解する

URLとはなにか

すでに学習したように、Web上では、HTTPを使用してクライアントとサーバがやり取りし、対象となる情報を処理します。そのためには、Web上のどのサーバの対象情報とやり取りするかを指示しなければなりません。そのときに、目的のサーバの対象情報の宛先を示す住所のようなものが必要になります。その役割を果たすものが URL(Uniform Resource Locator) です。URLは、「特定されたリソースの場所を指すもの」という意味です。リソースとは、対象となるデータやファイルをいいます。

URLは、大きく3つの部分から構成され、全体でその場所を表現します。

  1. 通信をする際のルール(プロトコル)を示す部分
  2. サーバの住所を示す部分
  3. サーバの中の対象となるリソース(データやファイル)の場所を示す部分

サーバ内のリソース部分が記述されていないときは、サーバの住所に相当する既定の場所がリソース(データやファイル)の場所に相当します。
一方で URI(Uniform Resource Identifier) という表現があります。これは、HTTPの宛先対象となるリソースを一意に識別する値(識別子)を意味します。

インターネット上に存在するリソースを一意に識別するURIと、その場所を示すURLは、実質的に同じものを意味することになります。表現するものは同じであるため、テキストの中では、URLとURIを同じ対象を意味するものとして使用します。
補足ですが、この他に URN(Uniform Resource Name) という表現があります。これは、対象となるリソースの名前で特定するという意味になり、結果的には、同じものを表現していることになります。

URLは次のような形式で表現します。

Image from Gyazo

サーバ名は、ドメイン名ともいいます。インターネット上のサーバを識別する値になります。リソース部分が、サーバ内の対象となるリソース(データやファイル)を特定する値になります。

HTTPメソッドとは

すでに学習したように、Webでは、クライアントコンピュータのブラウザから送信される HTTPリクエスト に従って、サーバの処理が行われます。クライアントから発信されるHTTPリクエストは、どのリソースに対して何をしたいかを指示する必要があります。
「どの」リソースかは、URLで決定されますが、「何をしたいか」は別に指示する必要があります。そのために HTTPメソッド を使用します。

HTTPリクエストを受け取ったサーバは、HTTPメソッドが指示されることで、クライアントから何を求められているかがわかります。例えば、データを送ってほしいのか、データを追加してほしいのか、などです。

そのために、HTTPメソッドには、次のようなメソッドが用意されています。

HTTPメソッド はたらき
GET リソース情報を取得する
POST 新しいリソース情報を送り込む
PUT リソース情報を新しい情報で置き換える
PATCH リソース情報の一部を新しい情報で書き換える
DELETE リソース情報を削除する

なお、すべてのブラウザに対応させる観点から、現在、HTTPリクエストで利用されているのは、GETPOSTの2種類です。あなたが後々作成するWebアプリケーションでは、PUTPATCHDELETEを、POSTとオプション(付加情報)を組み合わせることで表現しています。

HTTPメソッドには、この他にも多数用意されていますが、現時点では覚える必要はありません。

まとめ

  • URLは、HTTPリクエストの宛先をあらわす住所のようなものである。
  • HTTPメソッドは、対象となるリソースに対して「何をしたいか」を指示する。
  • HTTPメソッドには、GETPOSTPUTPATCHDELETEが用意されているが、ブラウザの制約上、実際に使用されるのは、GETPOSTの2種類である。

関連記事

次回:5. Webアプリケーションとは
前回:3. HTTPとは

*上記のリンクにアクセスすることで、続きをDIVER Learningsで確認できます。

DIVE INTO CODEのことをもっと知ってみませんか?