Httpメソッドとは?(GET, POST, PUT, DELETE)



⁉️ GET, POST, PUT, DELETE?


通常,符号化を行う場合,サーバとクライアントはHttpを用いて通信する.しかし、GET、POST、PUT、DELETEなど多くのHTTPメソッドが存在し、明確に使用されていますか?好奇心があったので、関連資料を探しました.

🔧 REST


HTTPメソッドを理解するために,まず定義するのがRESTである.

RESTの誕生

  • RESTはRepresentation State Transferの略で、2000年のRoy Fielding博士号論文で初めて紹介された.Roy FeeldingはHTTPの主な著者の一人で、当時のWeb(HTTP)設計の優秀性に比べて、正常に使用できないことを残念に思っていると述べ、RESTを発表し、このアーキテクチャがWebの優位性を最大限に利用できると発表した.
  • 実は...ちゃんと使おう!発表しましたが、なかなか明確なRESTルールがないので快適…開発のために、多くの人が厳格に守っていないようです.
    どれだけ難しいのか...RESTの正しいルールについては、次の記事で議論します!

    RESTとは?


    Representation State Transferの略:
  • リソース(リソース):URI
  • 挙動(Verb):HTTPメソッド
  • 表記法
  • ここでHTTPメソッドが登場します.これが今回のリリースのテーマです.すなわち,RESTを遵守し行動を伝達する方法であると考えられる.

    💁 HTTP Method


    HTTPメソッドは主にGET,POST,PUT,DELETEがある.
    通常、CRUDは次のように使用されます.
    クエリー:GET
    登録:POST
    修正:PUT
    削除さくじょ:DELETE

    すべてのタイプ


    方法は全部で8つあり、以下に示す.
    GET:サーバからのデータ取得
    POST:サーバへのデータ追加、データ作成等
    PUT:サーバ上のデータの更新、作成、
    DELETE:サーバ上のデータを削除する
    HEAD:サーバリソースのタイトル(メタデータの取得)
    OPTIONS:リソースサポートの取得方法
    PATCH:一部のリソースを修正する
    接続せつぞく:プロキシアクションのトンネル接続を変更プロキシアクションのトンネリングせつぞくをへんこう

    べき乗等性とは?


    まず,HTTPメソッドに関する資料を調べると,べき乗などが見つかる.韓国語はべき乗などと呼ばれています.初めて聞きました.🙁
    べき乗等性は、複数回の実行結果が同じであることを意味します.つまり、呼び出しによってデータが変形することはありません.

    1. GET


    定義#テイギ#


    GETメソッドは主にデータの読み出しや取得に用いられる.GET要求が成功すると、XMLまたはJSONとともに200(Ok)HTTP応答コードが返される.エラーが発生した場合、主に404または400(Bad request)エラーが発生します.
  • HTTPリストによれば、GET要求はデータの読み取りにのみ使用され、データの修正には使用されない.
  • GETリクエストはべき乗などです.
  • 同じリクエストを何度も出しても、同じ回答を一貫して得ることができます.
  • データを変更する演算には使用できません.
  • GET /user/1
    クエリーデータなので、要求時にBody値とContent-Typeが空です.クエリーするデータに関する情報は、URLから受信パラメータが表示されます.
    データクエリが成功した場合、成功応答を送信するためにBody値にデータ値が格納されます.
    GETはキャッシュ可能であり、同じデータを再度クエリする場合、格納された値を使用してクエリの速度を速める.

    2. POST


    定義#テイギ#


    POSTメソッドは、主に新しいリソースを作成するために使用されます.より具体的には、POSTは、サブリソース(親リソースのサブリソース)を生成するために使用される.作成が正常に完了すると、201(Created)HTTP応答が返されます.
  • POST要求はべき乗等ではない.
  • 等のPOST要求を繰り返すと、常に同じ結果が生じる保証はない
  • .
  • は、2つの同じPOST要求を発行し、同じ情報を含む2つの異なるリソースを返す可能性が高い.
  • POST /user
    body : {date : "example"}
    Content-Type : "application/json"
    
    生成データなので、要求時にBody値とContent-Type値を作成する必要があります.この例はJSONで作成した例です.
    URLではなく、Body値でデータを受信します.
    データクエリが成功すると、Body値に保存されたデータ値が成功応答を送信します.

    3. PUT


    定義#テイギ#


    PUTは、リソースを作成/更新するためにサーバにデータを送信するために使用される.
  • PUT要求はべき乗等である.
  • 同じPUT要求が複数回呼び出されると、
  • は常に同じ結果を生成する.
  • PUT /user/1
    body : {date : "update example"}
    Content-Type : "application/json"
    
    修正データなので、要求時にBody値とContent-Type値を記入する必要があります.この例はJSONで作成した例です.
    URL受信パラメータでどのデータを修正しますか.そして、変更するデータ値をBody値で受信する.
    データクエリが成功すると、Body値に保存されたデータ値が成功応答を送信します.

    4. DELETE


    定義#テイギ#


    DELETEメソッドは、指定したリソースを削除します.

    DELETE /user/1
    削除データなので、要求時にBody値とContent-Type値が空です.
    URLでパラメータを受信して削除するデータ.
    データの削除に成功した場合、Body値を送信せずに成功した応答のみが送信されます.

    📙 よく聞く質問


    POST方式はGET方式より安全性の面でもっと良いですか?

  • GETに比べてURLにはデータの情報がないため、より安全であると考えられる.
  • GETはPOSTより速いですか?

  • GETはキャッシュされているため、複数回のリクエスト時に格納されたデータが利用されるため、速度が速くなる可能性があります.
  • POST vs PUT

  • POSTとPUTは別々に使用するべきです.POSTは、新しいデータの生成を継続するため、要求されるたびにデータが生成されるが、PUTはユーザがデータを指定して修正するため、同じ要求を継続してもデータの生成は継続しない.
  • PUT vs PATCH

  • PATCHは本明細書では説明されていないが、情報を修正するために使用できるHTTP方法もある.でもPUTとはちょっと違うPUTは指定された全てのデータを修正する方法であるが、PATCHは情報の一部である.したがってPUTはべき乗等であるがPATCHはべき乗等とは言えない
  • 📎 リファレンス


    REST APIの理解と使用
    [REST API]REST API規則/PTUとPOST差異/PTUとPATCH差異
    HTTP Request Methods - w3schools