HTTPプロトコル

3653 ワード

この文章はHTTPプロトコルの概念を明確に理解させた.
この書いた文章の内容を運んで書いた.
ソース:https://joshua1988.github.io/web-development/http-part1/

HTTPプロトコルとは?


ハイパーテキスト転送プロトコル(HTTP)は、通信プロトコルである.
プロトコルは、特定のデバイス間でデータを交換するために相互に定義されたルールです.
WebはHTTPプロトコルを用いてブラウザとサーバの間でデータ交換を行うが,これはフロントエンド開発者が理解しなければならない知識である.

HTTPプロトコル特性


HTTPプロトコルは無状態プロトコルです.無状態とは、データ交換のために、各データ要求が互いに独立して管理されることを意味する.より簡単に言えば、前のデータ要求は次のデータ要求とは無関係である.
これらの機能により、サーバはセッションなどの追加情報を管理する必要がなく、複数のリクエストを処理し、サーバ負荷を軽減できることがパフォーマンスの利点です.
HTTPプロトコルは通常、TCP/IP通信上で動作し、デフォルトポートは80である.

HTTP Request & HTTP Response


HTTPプロトコルを使用してデータを交換するには、次のように要求を送信し、応答を受信する必要があります.

リクエストと応答を理解するには、まずクライアント(クライアント)とサーバ(サーバ)を理解する必要があります.
クライアントとは、要求を送信する側を指し、通常、Web観点ではブラウザを指す.サーバとは、要求を受信した側であり、通常はリモート位置でデータを送信するコンピュータである.

URL


URL(Uniform Resource Loctors)は、サーバにリソースを要求するために入力される英語のアドレスです.これは、デジタルIPアドレスよりも覚えやすいからかもしれません.
URL構造は以下の通りです.

HTTP要求方法


URLを使用すると、サーバに特定のデータを要求できます.要求されたデータに対して特定の操作を行う場合は、HTTP要求メソッドを使用します.
HTTP要求方法は通常HTTP Verbsと呼ばれ、主な方法は以下の通りである.

GET:既存資源の要求


POST:新規リソースの作成


PUT:既存リソースの変更


DELETE:既存のリソースを削除


これにより、クエリー、作成、変更、およびデータの削除操作をHTTPリクエストメソッドとして定義できます.なお、POST方式を用いてPUTおよびDELETE動作を実行する場合もある.

その他の要求方法は次のとおりです。


HEAD:サーバヘッダ情報を取得する。GETと似ていますが、応答Bodyは返されません。


OPTIONS:サーバオプションのリクエストを確認します。CORSでの使用


HTTP状態コード


表示されるURLと要求方法がクライアントが設定する必要がある情報である場合、「HTTPステータスコード」はサーバ設定の「応答」情報である.
フロントエンド開発者にとって、このステータスコードがエラー処理できるため、より重要な理由があります.例えば、以下はユーザリストを受信する簡単なGETメソッド要求である.
http://domain.com/users
上記の要求を送信すると,サーバ応答のステータスコードは大きく2つの部分に分けられる.200(成功)および404(失敗).したがって,このHTTP状態コードを用いて追加の論理を実現することができる.
プライマリステータスコードは200から500まで様々ですが、いくつかのプライマリステータスコードしか見ません.

2 xx-成功


200回のステータスコードは、通常、成功を意味する.

200:GETリクエスト成功


204 : No Content. 成功しましたが、応答本文にはデータがありません。


205 : Reset Content. 成功しましたが、クライアント画面をリフレッシュすることをお勧めします。


206 : Partial Conent. 成功しましたが、一部の範囲のデータのみが返されます。


3 xx-リダイレクト


ステータスコードが300回の場合、ほとんどのクライアントは古いアドレスにデータを要求し、リダイレクトをサーバから新しいURLに起動します.

301:Moved Permaplicity,要求されたリソースが新しいURLに存在する


303:See Other,要求されたリソースは一時アドレスに存在する


304:Not Modifiedは、要求されたリソースが変更されていないため、クライアントにキャッシュされたリソースを使用することを推奨します。ETagなどの情報を使用して変更するかどうかを確認します


4 xx-クライアントエラー


ほとんどの場合、400番のステータスコードはクライアントコードでは無効です.要求が無効なリソースまたは要求または権限が無効な場合に発生します.最もよく知られているステータスコードは404コードです.これは、要求されたリソースがサーバにないことを意味します.

400:Bad Request,要求無効


401:Unathorized、許可されていないリクエスト。不正な認証ヘッダ


403:Forbidden、サーバはリソースへのアクセスを禁止


405:Method Not Allowed、許可されていないリクエストメソッド


409:Conflict、更新されたリソースが最新でない場合。ex)ファイルアップロード時のバージョン競合


5 xx-サーバエラー


500番ステータスコードは、サーバ側でエラーが発生した場合です.

501:Not Implementedサーバが要求された操作を実行できない場合


503:Service Unavailable、サーバのオーバーロードまたはメンテナンスのダウングレード


HTTPリクエストと応答


前に学習したURL、リクエスト方法、ステータスコードを組み合わせると、次のような構造になります.

ソース:https://joshua1988.github.io/web-development/http-part1/