HTTPおよびHTTPSプロトコル

HTTPプロトコル

通信プロトコル:データ交換の形でサーバとクライアント

HTTPは動作します:HTTPプロトコルは、クライアント上で動作します-上のサーバアーキテクチャ。HTTPサーバのすべてのWebサーバへのURLリクエストを介して送信されるHTTPクライアントとしてブラウザは、受信した要求に応じてWebサーバは、クライアントに応答情報を送信します

フォーポイントメモ

  • HTTPは、データ・オブジェクトの任意のタイプの送信を可能にします。これは、伝送のタイプは、コンテンツタイプでマークされています
  • HTTPはコネクションレスである:限定する接続ごとに1つだけの要求を取り付けていない意味します。サーバがクライアントの要求を処理し、顧客の応答を受信した後、すなわち、切断。このようにして、送信時間を節約することができます。
  • HTTPは、独立したメディアである:これは、限り、クライアントとサーバーがデータの任意のタイプのデータ・コンテンツを処理する方法を知っているとして、HTTPを介して送信することができ、ということを意味します。クライアントとサーバは、適切なMIMEタイプのコンテンツタイプを指定します。
  • HTTPはステートレスです:HTTPプロトコルはステートレスなプロトコルです。いかなる状態は、トランザクション処理とメモリのためのプロトコルではありません。状態の欠如は、その後の処理は、情報の前に必要なことを意味する場合は、各接続増加するために送信されるデータの量をもたらす可能性が、再送されなければなりません。一方、それはより速く、サーバーに応じて、以前の情報を必要としません。

HTTPのURL

HTTPは、データを送信し、接続を確立するために、ユニフォームリソース識別子(ユニフォームリソースldentifiers、URI)を使用します。URLは、URIの特殊なタイプです十分な情報のURLを見つけるためのリソースを含む、中国と呼ばれるユニフォームリソースロケータの略で、ユニフォームリソースロケータを、インターネット上のアドレスでリソースを識別するために使用されます。例えば、次の通常のURLの組成物の各部分として、次のURLにあります。

http:/www.aspxfans.com:8080/news/index.asp?boardlD=5&ID=24618&page=1#name

上記URLから分かるように、完全なURLは次のとおりです。

  • プロトコル:プロトコルURLの一部のためのhttp:HTTPプロトコルを使用してWebページを表し、。この例で使用などHTTP、FTPなどのインターネット・プロトコル、種々のに使用することができるHTTPプロトコルです。httpのバック//区切り
  • ドメイン名の部品:URLのドメイン名部分ですwww.aspxfans.comURL、またはあなたがドメイン名としてIPアドレスを使用することができます
  • ポート部:ドメイン名の後には、ポート間のドメイン名とポートを使用することです:セパレータとして。あなたはポートの一部を省略した場合、ポートは、URLの必須部分ではない、デフォルトのポート
  • 仮想ディレクトリセクション:ドメイン名の最初の後/、最後に、開始/日、仮想ディレクトリの一部です。仮想ディレクトリは、URLの必要な部分ではありません。この場合、仮想ディレクトリがあります/news/
  • 名前のパーツファイル:姓の後から/に始まり?、日付、ファイル名の一部である、ない場合?、それはドメインの後、最後の1からである/に起動し#ない場合は、日付、ファイルの一部?、および#ドメインの後、最後の1から、その後/スタート最後に、それはファイル名の一部です。この例ではファイル名index.aspファイル名の一部は、あなたがこの部分を省略した場合、デフォルトのファイル名URLの必要な部分ではありません
  • アンカー部分は:から#最後まで始めて、それがアンカーの一部です。この実施形態では、アンカー部分ですnameURLのアンカー部分が必要な部分ではありません
  • パラメータセクション:から?始めて#も、アクセス・ケーブル・セクション、クエリの一部としても知られているこれまでの部分との間に、引数の一部。この例のパラメータがありますboardlD=5&ID=24618&page=1パラメータは、複数のパラメータ、およびパラメータとパラメータを可能にする&セパレータとしては。

HTTPの之リクエスト

クライアントは、サーバーのHTTPリクエストメッセージにリクエストを送信し、次のコンポーネントが含まれています。

  • ヘッダ:多くの場合、リクエストヘッダには、要求のための主要な説明の一部に格納され、リクエストヘッダと呼ばれます。したがって、サーバーは、クライアントの情報を取得します。

    • 一般的なリクエストヘッダ:

      accept:浏览器通过这个头告诉服务器,它所支持的数据类型
      Accept-Charset:浏览器通过这个头告诉服务器,它支持哪种字符集
      Accept-Encoding:浏览器通过这个头告诉服务器,支持的压缩格式
      Accept-Language:浏览器通过这个头告诉服务器,它的语言环境
      Host:浏览器通过这个头告诉服务器,想访问哪台主机
      If-Modified-since:浏览器通过这个头告诉服务器,缓存数据的时间
      Referer:浏览器通过这个头告诉服务器,客户机是哪个页面来的防盗链
      Connection:浏览器通过这个头告诉服务器,请求完后是断开链接还是保持链接   ★★★
      X-Requested-with:XMLHttpRequest代表通过ajax方式进行访问
      User-Agent:请求载体的身份标识    ★★★
  • メッセージ本文:リクエストボディが頻繁に呼び出されるが、情報サーバに送信/データを送信するリクエストボディに格納されます

HTTPの之リクエスト

サーバがクライアントにHTTPレスポンスを返す応答メッセージには、次のコンポーネントが含まれます。

  • ステータスコード:「クリア」の言語には、この要求の処理結果をクライアントに伝えます。HTTPレスポンスステータスコードは、5つのセグメントから構成されています。

    • 1xx:通常要求を受信したと処理されている、クライアントに伝えます
    • 2XX:成功した治療は、一般的に私はあなたが望むものを理解し、要求を受信したことを示し、要求が受け入れられている、およびその他の情報が処理されています
    • 300番台:別の場所にリダイレクト。その後、全体のプロセスを完了するために、クライアントが要求を開始することができます
    • 4XX:クライアントが存在しないリソースを要求するなどのエラー処理は、クライアントがなど、アクセスを禁止することを許可されていない場所、クライアントの責任を取り、
    • 5xxのは:エラー処理は、サーバとしてサービス側の責任は、例外、ルーティングエラー、HTTPバージョンはサポートされていない、などをスロー、発生します
  • レスポンスヘッダ:詳細レスポンスが表示されます。一般的なレスポンスヘッダを持っています

    Location:服务器通过这个头,来告诉浏览器跳到哪里
    Server:服务器通过这个头,告诉浏览器服务器的型号
    Content-Encoding:服务器通过这个头,告诉浏览器,数据的压缩格式
    Content-Length:服务器通过这个头,告诉浏览器回送数据的长度
    Content-Language:服务器通过这个头,告诉浏览器语言环境
    Content-Type:服务器通过这个头,告诉浏览器回送数据的类型    ★★★
    Refresh:服务器通过这个头,告诉浏览器定时刷新
    Content-Disposition:服务器通过这个头,告诉浏览器以下载方式打数据
    Transfer-Encoding:服务器通过这个头,告诉浏览器数据是以分块方式回送的
    Expires:-1 控制浏览器不要缓存
    Cache-Control:no-cache 
    Pragma:no-cache
  • 身体への返信要求に応じてクライアントによって指定された情報、およびクライアントに指定されたデータを送信します

HTTPSプロトコル

コンセプト:HTTPS(セキュアハイパーテキスト転送プロトコル)、セキュアハイパーテキスト転送プロトコル、HTTPS SSL暗号化層は、HTTP上に構築され、暗号化データは、HTTPプロトコルの安全なバージョンです。

暗号化は、HTTPSを使用しています

SSL暗号化

「共有キー」と呼ばれて使用されるSSL暗号化技術は、また、「対称鍵暗号」と呼ばれ、この暗号化方式は、クライアントが、サーバーにメッセージを送信し、たとえば、ようなものである既知のアルゴリズムを使用して最初のクライアント情報は、例えばMD5やBase64で暗号化など、暗号化されている場合、受信側は、暗号化情報を復号化鍵を使用する必要があり、中間キー(暗号化と復号化が同じである)、渡され、送信が重要な中間体であります暗号化されました。このアプローチは、安全なようだが、潜在的に危険な、一度タップ、サポートや情報がまだあります、キーを解読し、情報を破ることが可能です。そのため、セキュリティ上のリスクをこのように「鍵暗号を共有します」。

非対称暗号化秘密鍵

「非対称暗号化」を使用する場合は2つのロック、「秘密鍵」、「公開鍵」と呼ばれる1があり、非対称暗号の暗号化方式を使用した場合、サーバは与えられた自分の最初に従ってクライアントに指示しますその後、公開鍵暗号、公開鍵暗号の後、クライアントに合わせて、サーバーが情報を受信し、それを解読、そうすることの利点を復号化するために、自分の秘密鍵を使用すると、鍵が伝送を行うと、そのため、避けられないでしょうです誘拐される危険性。公開鍵は、盗聴者が取得する場合でも、それがあるため、評価の離散対数で、復号化処理を復号化することは困難であり、これは簡単に行うことができません。以下の非対称暗号化回路図:

しかし、非対称秘密鍵暗号化技術は、次のような欠点があります

  • 最初は、次のとおり、受信端を確保する方法に挟まれることなく、その受信した伝送を保証するために、事前に、送信側が送信側の秘密鍵を開示している時間を送信します。限り、鍵が送信されるように、人質に保持されたリスクが存在してもよいです。
  • 第二は、次のとおりです。非対称暗号化方式は、通信時の通信速度と効率に一定の影響力を持って、それを処理するために、より複雑で、比較的非効率的です

HTTPS証明書のメカニズム

上記では、我々は、公開鍵の存在が誘拐される可能性が高いです最初のもの非対称暗号化の欠点、についての話、公開鍵は、クライアントがサーバーの公開鍵が解除さ受け取ることを保証することはできません。このとき、公開鍵証明書のメカニズムが生じます。認証局は、サードパーティのクライアントとサーバが信頼されています。詳細な通信処理証明書を次のように

  • 1:公開鍵、認証局に適用する公開鍵、申請者の身元を認識するための認証局を運ぶためにサーバーの開発者は、承認後、アプリケーション開発者の公開鍵は、デジタルを行います公開鍵は互いに結合し、内部の証明書と鍵を署名された署名した後、割り当て
  • 2:服务器将这份数字证书发送给客户端,因为客户端也认可证书机构,客户端可以通过数字证书中的数字签名来验证公钥的真伪,来确保服务器传过来的公开密钥是真实的。一般情况下,证书的数字签名是很难被伪造的,这取决于认证机构的公信力。一旦确认信息无误之后,客户端就会通过公钥对报文进行加密发送,服务器接收到以后用自己的私钥进行解密。

おすすめ

転載: www.cnblogs.com/qiuxirufeng/p/11144858.html