インターネット
 Computer >> コンピューター >  >> ネットワーキング >> インターネット

HTTP の概要:知っておくべきことすべて

この記事では、ワールド ワイド ウェブがどのように機能するかを基本的なレベルで説明します。

コア技術は HTTP - ハイパーテキスト転送プロトコルです。 Web を閲覧するときに使用する通信プロトコルです。

基本的なレベルでは、Web サイトにアクセスすると、ブラウザーはサーバーに対して HTTP 要求を行います。次に、そのサーバーはリソース (画像、ビデオ、または Web ページの HTML) で応答します。これはブラウザーが表示します。

これは、HTTP のメッセージ ベースのモデルです。すべての HTTP インタラクションには、リクエストとレスポンスが含まれます。

その性質上、HTTP はステートレスです。

ステートレス すべてのリクエストが互いに分離されていることを意味します。そのため、ブラウザからの各リクエストには、サーバーがリクエストを満たすのに十分な情報が含まれている必要があります。これは、HTTP のメッセージ ベース モデルの各トランザクションが他のトランザクションとは別に処理されることも意味します。

URL

URL (Uniform Resource Locator) は、おそらく最もよく知られている Web の概念です。これは、最も重要で有用な概念の 1 つでもあります。 URL は、Web 上のリソースを識別するために使用される Web アドレスです。

Web のアイデアは、リソースを中心に構成されています。 Web は当初から、テキスト/HTML ファイル、ドキュメント、画像などを共有するためのプラットフォームであり、リソースのコレクションと見なすことができます。

HTTP の概要:知っておくべきことすべて
URL の例

プロトコル — ほとんどの場合、それらは HTTP (または HTTP の安全なバージョンの場合は HTTPS) です。

その他の注目すべきプロトコルは次のとおりです。

  • ファイル転送プロトコル (FTP) — は、ネットワークを介してクライアントとサーバー間でファイルを転送するために使用される標準プロトコルです。
  • Simple Mail Transfer Protocol (SMTP) はメール送信の標準です。

ドメイン — リソースが配置されている 1 つ以上の IP アドレスを識別するために使用される名前。

パス - サーバー上のリソースの場所を指定します。この記事を読んでいるデバイスで使用されるリソースの場所と同じロジックを使用します (つまり、/search/cars/VWBeetle.pdf または C:/my cars/VWBeetle.pdf)。

パラメータ — サーバー上のリソースを識別またはフィルタリングするために使用される追加データ。

注意 :HTTP に関する記事や詳細情報を検索していると、URI (または Uniform Resource Identifier) という用語に出くわすことがあります。 URI は URL の代わりに使用されることもありますが、主に正式な仕様で、自慢したい人によって使用されます。 :)

HTTP リクエスト

HTTP では、すべての要求に URL アドレスが必要です。さらに、リクエストにはメソッドが必要です。 4 つの主な HTTP メソッドは次のとおりです。

  • GET
  • 置く
  • 投稿
  • 削除

これらのメソッドなどについては、この記事の HTTP メソッドのセクションで説明します。

これらのメソッドはアクションに直接対応しています:

  • 読む
  • 更新
  • 作成
  • 削除

すべての HTTP メッセージには 1 つ以上のヘッダーがあり、その後にオプションのメッセージ本文が続きます。本文には、リクエストで送信されるデータ、またはレスポンスで受信されるデータが含まれます。

すべての HTTP リクエストの最初の部分には、次の 3 つの項目が含まれます:

例:

  • GET /adds/search-result?item=vw+beetle HTTP/1.1

URL に「?」が含まれている場合記号は、クエリが含まれていることを意味します。つまり、リクエストされたリソースのパラメーターを送信します。

<オール>
  • 最初の部分は、使用される HTTP メソッドを示すメソッドです。最も一般的に使用されるのは GET メソッドです。 GET メソッドは Web サーバーからリソースを取得します。GET にはメッセージ本文がないため、ヘッダーの後には何も必要ありません。
  • 2 番目の部分はリクエストされた URL です。
  • 3 番目の部分は、使用されている HTTP バージョンです。バージョン 1.1。はほとんどのブラウザで最も一般的なバージョンですが、バージョン 2.0 が取って代わりつつあります。
  • HTTP リクエストには、他にも興味深いことがいくつかあります。

    リファラー ヘッダー — リクエストの発信元の URL を示します。

    User-Agent ヘッダー —リクエストの生成に使用されたブラウザに関する追加情報。

    ホスト ヘッダー —ホスト名を一意に識別します。複数の Web ページが同じサーバーでホストされている場合に必要です。

    Cookie ヘッダー — 追加のパラメータをクライアントに送信します。

    HTTP レスポンス

    HTTP リクエストと同様に、HTTP レスポンスも次の 3 つの項目で構成されます:

    例:

    HTTP/1.1 200 OK

    <オール>
  • 最初の部分は、使用されている HTTP バージョンです。
  • 2 番目の部分は、リクエストの結果の数値コードです。
  • 3 番目の部分は、2 番目の部分のテキストによる説明です。
  • HTTP 応答には、他にも興味深いことがいくつかあります:

    サーバー ヘッダー — 使用されている Web サーバー ソフトウェアに関する情報

    Set-Cookie ヘッダー —ブラウザに Cookie を発行します。

    メッセージ本文 — HTTP 応答がメッセージ本文を保持するのは一般的です。

    Content-Length ヘッダー — メッセージ本文のサイズをバイト単位で示します。

    HTTP メソッド

    最も一般的なメソッドは GET と POST です。しかし、他にもいくつかあります。

    GET — このメソッドを使用して、データがまったく変更されていない指定されたリソースからデータを要求します。 GET リクエストはリソースの状態を変更しません。

    投稿 — このメソッドを使用してサーバーにデータを送信し、リソースを作成します。

    PUT — このメソッドを使用して、要求の本文のコンテンツを使用してサーバー上の既存のリソースを更新します。これは、何かを「編集」する方法と考えてください。

    — このメソッドは GET を使用するのと同じ方法で使用しますが、HEAD メソッドの戻り値には応答に本文が含まれてはならないという違いがあります。ただし、戻り値には、GET が使用された場合と同じヘッダーが含まれます。 GET リクエストを行う前に、HEAD メソッドを使用して、リソースが存在するかどうかを確認します。

    トレース — この方法は、診断目的で使用します。応答の本文には、要求メッセージの正確な内容が含まれます。

    オプション — このメソッドを使用して、ターゲット リソースで使用できる通信オプション (HTTP メソッド) を記述します。

    パッチ — このメソッドを使用して、リソースに部分的な変更を適用します。

    削除 — このメソッドを使用して、指定されたリソースを削除します。

    レスト

    Representational State Transfer (REST) は、要求と応答にシステム リソースの現在の状態の表現が含まれるアーキテクチャ スタイルです。

    「通常の」方法:

    • https://carapp.com/search?make=wv&model=beetle

    REST スタイル:

    • https://carapp.com/search/vw/beetle

    興味がある場合は、ここで REST について詳しく知ることができます。

    HTTP ヘッダー

    要求/応答構造を構成する 3 つの主要なコンポーネントがあります。これらには以下が含まれます:

    • 一行目
    • ヘッダー
    • 本文/内容

    HTTP リクエストとレスポンスの最初の行については既に説明しましたが、body 関数についても触れました。次に、HTTP ヘッダーについて説明します。

    HTTP ヘッダーは最初の行の後に追加され、コロンで区切られた名前:値のペアとして定義されます。 HTTP ヘッダーは、要求または応答と共に追加のパラメーターを送信するために使用されます。

    既に述べたように、メッセージの本文には、リクエストと共に送信されるデータ、またはレスポンスと共に受信されるデータが含まれます。

    用途に基づいて 4 つの広範なカテゴリにグループ化されたさまざまな種類のヘッダーがあります。

    • 一般的なヘッダー — 要求と応答メッセージの両方で使用でき、交換されるデータから独立したヘッダー。
    • リクエスト ヘッダー — これらのヘッダーは、要求されたデータのパラメーター、または要求を行うクライアントに関する重要な情報を提供するパラメーターを定義します。
    • レスポンス ヘッダー — これらのヘッダーには、着信応答に関する情報が含まれています。
    • エンティティ ヘッダー — エンティティ ヘッダーは、メッセージの本文を構成するコンテンツを記述します。
    HTTP の概要:知っておくべきことすべて
    ヘッダーの種類

    HTTP ステータス コード

    Web を閲覧していると、「404 エラー:見つかりません」ページまたは「500 エラー:サーバーが応答していません」ページに遭遇した可能性があります。

    これらは HTTP ステータス コードです。

    すべての HTTP 応答メッセージには、最初の行に HTTP ステータス コードを含めて、要求の結果を通知する必要があります。

    HTTP の概要:知っておくべきことすべて

    最初の桁でグループ化されたステータス コードには 5 つのグループがあります。

    • 1xx — 情報。
    • 2xx — リクエストは成功しました。
    • 3xx — クライアントは別のリソースにリダイレクトされます。
    • 4xx — リクエストに何らかのエラーが含まれています。
    • 5xx — サーバーでリクエストの実行中にエラーが発生しました。

    HTTP ステータス レスポンス コードとその説明の完全なリストは次のとおりです。

    HTTPS (ハイパーテキスト転送プロトコル セキュア)

    HTTP プロトコルの安全なバージョンは、HyperText Transfer Protocol Secure (HTTPS) です。 HTTPS は、ブラウザ (クライアント) と Web サイト (サーバー) 間の暗号化された通信を提供します。

    HTTPS では、通信プロトコルは Transport Layer Security (TLS) または Secure Sockets Layer (SSL) を使用して暗号化されます。

    したがって、このプロトコルは、HTTP over TLS または HTTP over SSL とも呼ばれます。

    TLS プロトコルと SSL プロトコルの両方が、非対称暗号化システムを使用します。非対称暗号化システムでは、公開キー (暗号化キー) と秘密キー (復号化キー) を使用してメッセージを暗号化します。

    誰でも公開鍵を使用してメッセージを暗号化できます。ただし、秘密鍵は秘密であるため、意図した受信者のみがメッセージを復号化できます。

    HTTP の概要:知っておくべきことすべて
    非対称暗号方式の例

    SSL/TLS ハンドシェイク

    Web サイトへの HTTPS 接続を要求すると、Web サイトはその SSL 証明書をブラウザーに送信します。ブラウザと Web サイトが通信を開始するプロセスは、「SSL/TLS ハンドシェイク」と呼ばれます。

    SSL/TLS ハンドシェイクには、ブラウザーと Web サイトが相互に検証し、SSL/TLS トンネルを介して通信を開始する一連の手順が含まれます。

    お気づきかもしれませんが、HTTPS 接続中に信頼できる安全なトンネルが使用されると、ブラウザのアドレス バーに緑色の南京錠アイコンが表示されます。

    HTTP の概要:知っておくべきことすべて
    私の安全なページの例

    HTTPS の利点

    HTTPS の主な利点は次のとおりです。

    • クレジット カード番号やその他の機密情報などの顧客情報は暗号化されており、傍受することはできません。
    • 訪問者は、あなたが登録済みのビジネスであり、ドメインを所有していることを確認できます。
    • 顧客は、HTTPS なしでサイトにアクセスすることは想定されていないことを知っているため、HTTPS を使用するサイトを信頼して購入する可能性が高くなります。

    読んでくれてありがとう!私の freeCodeCamp プロフィールで、このような他の記事をチェックしてください。そして、GitHub ページで私が作成したその他の楽しいものをチェックしてください。


    1. マルウェア:知っておくべきすべてのこと

      コンピューターは生活を楽にしましたが、どんなことにも奇妙さがあります。テクノロジーの発展に伴い、脅威はより強力になり、蔓延しています。現在、マルウェアのリスクは 10 億回の標的攻撃で頂点に達しています。マシンの誤動作から金銭的損失まで、マルウェアは意図的にその役割を果たしてきました。 ただし、安全を確保するために講じることができる予防措置はありますが、セント パーセントの保証を提供するには十分ではありません。同じ問題を解決するために、マルウェアについて知っておくべきことをすべて説明し、説明します。 マルウェアとは? マルウェアはマルウェアです おいしいソフトウェアウェア これは、コン

    2. Wi-Fi 6:知っておくべきことすべて!

      今年は技術的なサプライズがたくさん待っています! Wi-Fi 6 もその 1 つです。はい、そうです。 2019 年に目にする 1 つのゲーム チェンジャー ワイヤレス標準である次世代の Wi-Fi に備えましょう。テクノロジーやガジェットの傾向がますます強くなっているため、Wi-Fi 6 の登場は確かに 1 つの良いニュースになります。特に混雑したエリアでは、速度とパフォーマンスが向上します。そのため、Wi-Fi 6 は 802.11ax としても知られる最新の Wi-Fi 標準であり、今年リリースされる予定です。 情報筋によると、Wi-Fi 6 がリリースされると、これらの数値がデバイス