[ネットワーク]HTTPとHTTPS
HTTP(HyperText Transfer Protocol)
≪サーバー|Server|Eas≫-クライアント・モデルに基づいてデータを交換するプロトコル
TPC、UDP 80ポートの使用
接続中に中断しても、再起動する必要はありません.これは時間の無駄です.
ステータスなしステータスなしプロトコル
HTTPリクエスト/レスポンスヘッダ
リクエストヘッダ
GET /xyz.html HTTP/1.1
Host: www.xyz.com
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Accept: text/html; */*
Cookie: name = value
Referer: http://www.abc.com/abc.html
1行目は要求行->メソッドURI HTTPversion
getメソッド/ディレクトリのxyzを使用します.htmlを要求するためのプロトコルバージョンは1.1です.
最初の行の後ろの部分はリクエストヘッダに対応します
name:valueの形式で定義
メソッド名は大文字でなければなりません
ヘッダーに大文字と小文字の区別を要求し、スペースを自動的に削除
GET /xyz.html HTTP/1.1
Host: www.xyz.com
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Accept: text/html; */*
Cookie: name = value
Referer: http://www.abc.com/abc.html
「*/*」を使用すると、特定のタイプ以外のすべての通常のシェイプ
送信要求のアドレスが受信要求のアドレスと異なる場合、CORSエラーが発生します
応答ヘッダのアクセス制御Allow-originに関する
レスポンスヘッダ
HTTP/1.1 200 Found
Date: Mon, 10 Feb 1997 23:48:22 GMT
Server: Apache/1.3.9
Connection: close
Content-type: text/html; charset=utf-8
Date: Mon, 18 Jul 2019 16:06:00 GMT
Last-Modified: Tues, 11 Feb 2000 22:45:55 GMT
最初の行は、ステータス情報を含む応答行です.Webサーバにクライアント要求のアドレスがある場合は「200 Found」、ない場合は「404 Not Found」
応答ヘッダの各フィールドと値(最初の行から)
(応答内容がいつ期限切れになるかを示す)
closeの場合、トランザクションが完了すると接続が切断されます
サーバは、エラーXのためにフロントエンドアドレスをこのヘッダーに記入する必要があります.
*すべてのアドレスでCORSリクエストを発行できますが、セキュリティが低下します.
HTTPの行為
ユーザーがWebブラウザにURLアドレスを入力(ホスト名とポート番号を取得)
DNSサーバにWebサーバのホスト名をIPアドレスに変更するよう要求する
TCPをWebサーバに接続する(3ウェイ握手)
WebブラウザがサーバにHTTPリクエストを送信
サーバがWebブラウザにHTTP応答を送信
サーバ-クライアントの接続解除(4ウェイ握手)
Webブラウザ出力Webドキュメント
->情報を取得するリスクがある
これらの問題を解決するためにHTTPSが発生しました
HTTPS(HyperText Transfer Protocol over Secure Socket Layer)
HyperText Transfer Protocol over Secure Socket Layer, HTTP over TLS, HTTP over SSL, HTTP Secure
HTTPにデータ暗号化プロトコルを追加
ソケット通信の純粋なテキストではなく、SSL、TLSプロトコルでセッションデータを暗号化
公開鍵として対称鍵を渡し、互いに共有する対称鍵を用いて通信する
TCP/IP 443ポートの使用
最近のネットワーク/サーバ・デバイスのパフォーマンスの向上に伴い、セキュリティ・レベルによるサーバ負荷の増加による処理速度はXに達しました.
トランスポート・レイヤ・セキュリティ(TLS)は、過去のセキュア・ソケット・レイヤで名前が変更されています.まだ大量のSSL名が使用されています
公開鍵/秘密鍵メソッド
たいしょうキーほうしき
対称鍵は、同じ鍵を使用して暗号化および復号化することができる
HTTPSの行為
SSL方式を適用するには、証明書を発行してサーバに適用する必要があります.
証明書の役割は、ユーザーが接続しているサーバが所望のサーバであることを確認することです.
これらの証明書を発行する機関はCA(Certificate Authority)と呼ばれています.
サイトは自分の情報と公開鍵をCAに提出する(証明書の発行を要求する)
CAは、認証プログラムによりサイトに送信された情報を秘密鍵で暗号化(証明書発行)する
CAはWebブラウザに公開鍵を提供する
(WebブラウザはCAリストと各公開鍵を知っている)
ユーザーがサイトに接続する->独自の証明書をWebブラウザに送信します.
Webブラウザは、事前に受け取ったCA公開鍵を使用して証明書を復号して検証する
(Webサイトの情報と公開鍵がわかります)
取得したサイト公開鍵を使用して対称鍵を暗号化し、サイトに送信します.
Webサイトは、秘密鍵の復号化によって対称鍵を取得し、対称鍵によってデータを交換します.
Reference
この問題について([ネットワーク]HTTPとHTTPS), 我々は、より多くの情報をここで見つけました https://velog.io/@arielgv829/CS-network-HTTP-HTTPSテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol