テクノロジー
2024年9月24日URL / HTTPメソッドとは
この記事では、URLとHTTPメソッドについて解説しています。URLはWeb上のリソースの場所を示す「住所」のようなもので、主に3つの要素(プロトコル、サーバの住所、リソースの場所)で構成されます。HTTPメソッドは、リソースに対して「何をしたいか」を指示するもので、主にGET、POST、PUT、PATCH、DELETEがあり、リソースの取得や更新、削除などを行います。
著者プロフィール
Webエンジニア歴5年以上。現在は、プログラミングスクールのメンターとして、次世代のエンジニア育成にも力を注いでいる。フロントエンドとバックエンドの開発に精通し、日々最新技術を追求しながら、実務経験をもとにした実践的な指導を行っている。スキル向上と学び続ける姿勢を大切にし、初心者から中級者まで幅広くサポートすることを得意としている。
ゴール
- URLとはなにかを理解する
- HTTPメソッドとはなにかを理解する
URLとはなにか
すでに学習したように、Web上では、HTTPを使用してクライアントとサーバがやり取りし、対象となる情報を処理します。そのためには、Web上のどのサーバの対象情報とやり取りするかを指示しなければなりません。そのときに、目的のサーバの対象情報の宛先を示す住所のようなものが必要になります。その役割を果たすものが URL(Uniform Resource Locator) です。URLは、「特定されたリソースの場所を指すもの」という意味です。リソースとは、対象となるデータやファイルをいいます。
URLは、大きく3つの部分から構成され、全体でその場所を表現します。
- 通信をする際のルール(プロトコル)を示す部分
- サーバの住所を示す部分
- サーバの中の対象となるリソース(データやファイル)の場所を示す部分
サーバ内のリソース部分が記述されていないときは、サーバの住所に相当する既定の場所がリソース(データやファイル)の場所に相当します。
一方で URI(Uniform Resource Identifier) という表現があります。これは、HTTPの宛先対象となるリソースを一意に識別する値(識別子)を意味します。
インターネット上に存在するリソースを一意に識別するURIと、その場所を示すURLは、実質的に同じものを意味することになります。表現するものは同じであるため、テキストの中では、URLとURIを同じ対象を意味するものとして使用します。
補足ですが、この他に URN(Uniform Resource Name) という表現があります。これは、対象となるリソースの名前で特定するという意味になり、結果的には、同じものを表現していることになります。
URLは次のような形式で表現します。
サーバ名は、ドメイン名ともいいます。インターネット上のサーバを識別する値になります。リソース部分が、サーバ内の対象となるリソース(データやファイル)を特定する値になります。
HTTPメソッドとは
すでに学習したように、Webでは、クライアントコンピュータのブラウザから送信される HTTPリクエスト に従って、サーバの処理が行われます。クライアントから発信されるHTTPリクエストは、どのリソースに対して何をしたいかを指示する必要があります。
「どの」リソースかは、URLで決定されますが、「何をしたいか」は別に指示する必要があります。そのために HTTPメソッド を使用します。
HTTPリクエストを受け取ったサーバは、HTTPメソッドが指示されることで、クライアントから何を求められているかがわかります。例えば、データを送ってほしいのか、データを追加してほしいのか、などです。
そのために、HTTPメソッドには、次のようなメソッドが用意されています。
HTTPメソッド | はたらき |
---|---|
GET | リソース情報を取得する |
POST | 新しいリソース情報を送り込む |
PUT | リソース情報を新しい情報で置き換える |
PATCH | リソース情報の一部を新しい情報で書き換える |
DELETE | リソース情報を削除する |
なお、すべてのブラウザに対応させる観点から、現在、HTTPリクエストで利用されているのは、GET
、POST
の2種類です。あなたが後々作成するWebアプリケーションでは、PUT
、PATCH
、DELETE
を、POST
とオプション(付加情報)を組み合わせることで表現しています。
HTTPメソッドには、この他にも多数用意されていますが、現時点では覚える必要はありません。
まとめ
- URLは、HTTPリクエストの宛先をあらわす住所のようなものである。
- HTTPメソッドは、対象となるリソースに対して「何をしたいか」を指示する。
- HTTPメソッドには、
GET
、POST
、PUT
、PATCH
、DELETE
が用意されているが、ブラウザの制約上、実際に使用されるのは、GET
、POST
の2種類である。