HTTPとは



HTTPとは
HTTPはハイパーテキスト転送プロトコルを表します.単語で単語を壊しましょう
  • ハイパーテキスト-他の情報へのリンクを含めることができますテキストです.HTMLページ
  • 転送- 1つの場所から別の場所へ移動する
  • プロトコル-命令/規則のセット
  • 基本的にHTTPはWebサーバとクライアントの間でハイパーテキストを転送するためのルールのセットです.
    HTTPはアプリケーション層プロトコルです.アプリケーション層は、ユーザーが対話できるものです.HTTP仕様は、転送されるデータの構造を定義するだけであり、実際に転送される方法は、より低いレベルのプロトコルによって扱われる.
    HTTPはTCP/UDPを使用してサーバとクライアント間のデータを転送します.TCPとUDPはトランスポート層プロトコルで、デバイス間の転送に責任があります.HTTPクライアントとサーバは要求と応答を使用して通信します.
    HTTPはステートレスプロトコルです.それは、各々の要求がもう一つの要求から独立していることを意味します.言い換えると、ユーザが複数のリクエストサーバを作るなら、それはHTTPプロトコルに従って少なくともユーザーによってなされた4つの要求があるということを知りません.これは、セッション、クッキーなどの他の手段で追跡することができます.

    HTTPリクエスト構造
    HTTPリクエストは
  • リクエスト行
  • ヘッダ
  • body (オプション)

  • リクエスト行
    リクエスト行はHTTPバージョンとリクエストタイプから成ります.
    共通のリクエストタイプは
  • get -リソースを取得するために使用します.
  • POST -リソースを作成するために使用します.ほとんどの人はこのタイプを更新するために使用しますが、慣例は作成のためにポストのみを使用することです.
  • put -リソースの更新に使用します.
  • patch -リソースを部分的に更新するために使用します.
  • ヘッド-リソースのヘッダーのみを取得するために使用します.これは、データ長を要求したり、データ全体を要求せずにデータ形式を受け入れたい場合に便利です
  • オプション-どのヘッダーがサポートされているかを確認するために使用します.
  • 削除-リソースを削除するために使用します.

  • ヘッダ
    サーバ/クライアントが追加情報を送信したい場合に便利です.
    ユーザエージェント、時間など.ヘッダで送信できる

    ボディ
    これらはリクエストとともに転送するデータです.GETリクエストには体がありません.
    リクエストの例
    GET / HTTP/2
    Host: www.google.com
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Accept-Language: en-US,en;q=0.5
    Accept-Encoding: gzip, deflate, br
    

    HTTPレスポンス構造
    HTTPレスポンスは
  • ステータス行
  • ヘッダ
  • ボディ

  • ステータス行
    これはリクエストのステータスを示すHTTPステータスコードを含んでいます.ステータスコードのリストを見ることができますhere

    ヘッダー
    これは応答に関する追加情報からなる.Ex :コンテンツの長さ、コンテンツタイプなど.

    ボディ
    レスポンス本文を含みます.HTMLページやXMLやJSONなどです.
    HTTPレスポンスの例
    HTTP/2 200 OK
    date: Sat, 29 May 2021 16:30:20 GMT
    content-type: text/html; charset=UTF-8
    content-length: 35706
    
    <!doctype html><html>.......</html>