HTTPとは?


HTTPとは?


ハイパーテキスト文書の通信約定を交換するためのHyperText転送プロトコルの略.これは、Webサーバとクライアントとの間で通信を行う通信の約束です.HTTPは1989年にTeam Burners-Leeによって設計され、インターネットベースのグローバル情報共有において大きな役割を果たした.
HTTPは、TCP/IPベースの1つのポイントから別のポイント(サーバおよびクライアント)に要求および応答を送信するWeb上でのみ使用されるプロトコルである.

HTTP特性


HTTPメッセージは、HTTPサーバとHTTPクライアントによって解析される.
TCP/IPを使用するアプリケーションプロトコル(Application Protocol).
HTTPは、接続状態を保持しない非接続プロトコルである.(CookieとSeesionはこれらの欠点を解決するために使用される)
HTTPは接続を保持しないプロトコルであるため、リクエスト/レスポンス(request/response)で動作する.
-サーバ:任意の材料へのアクセスを管理するネットワークシステム(リクエストに応じて).
-クライアント:この資料にアクセスできるプログラム
Ex)Webブラウザ、携帯アプリなど…

HTTPの行為


例えば、クライアント(client)は、ユーザがブラウザを介してURLまたは他の方法でサービスを要求すると、サーバがその要求に合致する結果を検索し、応答(response)としてユーザに応答する.
リクエスト:client->server
応答:server->client

リクエスト


クライアント連絡サーバはリクエストと呼ばれ、リクエストを送信するとリクエストの情報がサーバに送信されます.
リクエストメソッド(リクエストのタイプ)
GET:要求資料用
POST:リソースの作成を要求する
PUT:データ修正要求用
DELETE:データ削除要求用
  • 開始行(最初の行)
    最初の行は、メソッド構造のバージョンからなる開始行です.
  • GET : HTTP Method
    https://velog.io/@surim014:サイトアドレス
    HTTP/1.1:HTTPバージョン

  • 見出し(2行目から)
    2行目からタイトルで、リクエストに関する情報が含まれています.User-Agent、Upgrade-Insecure-Requestsなどはいずれもヘッダに対応しており、ヘッダの種類は非常に多い.

  • 本文(タイトルに1行置き)
    この文書には、リクエスト時に一緒に送信されるデータが含まれています.現在の例では、要求はアドレスにのみ送信され、データは単独で送信されないため、本明細書は空です.
  • おうとう


    サーバは、要求に対する応答をクライアントに送信することを応答と呼ぶ.
    Statusコード
    ステータスコードにはいろいろあります.3桁の数字で構成され、大きく5種類に分けられ、以下に示す.
    -1 XX(条件付き応答):要求を受け取り、作業を続行します.
    -2 XX(成功):クライアントが要求を受信し、理解し、処理に成功した動作を指します.
    -3 XX(リダイレクト完了):クライアントは要求を完了するために追加のアクションを取らなければなりません.
    -4 XX(要求エラー):クライアントにエラーが発生したことを示します.
    -5 XX(サーバーエラー):サーバーが有効な要求を明確に実行していないことを示します.
    Resonse HTTPメッセージ例
    HTTP/1.1200 OK//スタートライン
    接続:keep-alive//ヘッダ
    Content-Encoding: gzip
    Content-Length: 35653
    Content-Type: text/html;
    <!DOCTYPE html><html lang="ko" data-reactroot=""><head><title...

  • 開始行(最初の行)
    最初の行は、バージョンステータスコードステータスメッセージから構成されます.200は、これが成功したリクエストであることを意味します.

  • 見出し(2行目から)
    2行目から、応答に関する情報をタイトルで含めます.

  • 本文(タイトル後)
    ほとんどの場合、応答には本文があります.一般的にデータが要求されるため、返信情報には要求されたデータが含まれます.応答メッセージにはHTMLが含まれており、ブラウザはこのHTMLを受信して画面に表示します.
  • HTTP Methods


    GET


    その名の通り、主にサーバからデータ(GET)を取得する方法に用いられる.
    データを作成/変更/削除せずにデータのみを受信するために使用します.
    最も簡単で、最もよく使われるHTTP方法
    前述したように、主にデータの受信に用いられるため、bodyはrequestに送信されない.

    POST


    データの作成/変更/削除によく使用される方法.
    これらのデータは、データの作成および変更によく使用されるため、ほとんどの場合、requist bodyが含まれます.

    PUT


    POSTに似ています.データの作成方法.
    POSTと重なるためPUTを使うところもあればPOSTを統一的に使うところもあり、近年はPOSTに押されて使いづらい傾向にあります.

    DELETE


    サーバから削除リクエストを送信するときに使用する方法
    PUTと同様にPOSTの使用率は低い