1. TCP/IP ネットワーク モデルの層は何ですか?
TCP/IP ネットワークは通常、上から下に、アプリケーション層、トランスポート層、ネットワーク層、ネットワーク インターフェイス層の4 つの層に分かれています。
各層のカプセル化形式は次のとおりです。
ネットワークインターフェース層の伝送単位はフレーム(frame)、IP層の伝送単位はパケット(packet)、TCP層の伝送単位はセグメント(segment)、HTTPの伝送単位はメッセージまたはメッセージ(メッセージ) )。ただし、これらの名詞には本質的な区別はなく、総称してデータ パケットと呼ぶこともあります。
2.HTTPとは何ですか?
HTTP は Hypertext Transfer Protocol、つまりHyperText Transfer Protocolです 。
3. HTTP の一般的なステータス コードは何ですか?
4. GET と POST の違いは何ですか?
GET のセマンティクスは、指定されたリソースの取得を要求することです。GET メソッドは安全でべき等であり、キャッシュ可能です。
POST のセマンティクスは、リクエストの負荷 (メッセージボディ) に応じて指定されたリソースを処理することであり、具体的な処理方法はリソースの種類によって異なります。POST は安全ではなく、冪等ではなく、(ほとんどの実装では) キャッシュ可能ではありません。
5. HTTP キャッシュの実装方法は何ですか?
HTTP キャッシュには、必須キャッシュとネゴシエーション キャッシュという 2 つの実装があります。
強制キャッシュ: 強力なキャッシュとは、ブラウザがキャッシュの有効期限が切れていないと判断する限り、ブラウザのローカル キャッシュを直接使用することを意味し、キャッシュを使用するかどうかの決定権はブラウザにあります。
ネゴシエーション キャッシュ:ネゴシエーション キャッシュは、サーバーとのネゴシエーション後、ネゴシエーション結果に応じてローカル キャッシュを使用するかどうかを決定します。
6. HTTP と HTTPS の違いは何ですか?
HTTP はハイパーテキスト転送プロトコルであり、情報はクリア テキストで送信されるため、セキュリティ リスクが生じます。HTTPS は、HTTP の安全でない欠陥を解決し、TCP と HTTP ネットワーク層の間に SSL/TLS セキュリティ プロトコルを追加することで、メッセージを暗号化して送信できるようにします。
HTTP 接続の確立は比較的簡単で、TCP スリーウェイ ハンドシェイク後に HTTP メッセージ送信を実行できます。ただし、TCP の 3 ウェイ ハンドシェイクの後、HTTPS は暗号化メッセージの送信に入る前に SSL/TLS ハンドシェイク プロセスを実行する必要があります。
両者のデフォルトのポートは異なり、HTTP のデフォルトのポート番号は 80、HTTPS のデフォルトのポート番号は 443 です。
HTTPS プロトコルは、サーバーの ID が信頼できることを確認するために、CA (認証局) にデジタル証明書を申請する必要があります。
7. HTTPS は HTTP のどの問題を解決しますか?
HTTP は平文で送信されるため、セキュリティの観点から次の 3 つのリスクがあります。
- 通信リンク上で通信内容が取得できたり、ユーザー番号が紛失しやすいなど、盗聴の危険性があります。
- スパム広告の強制的な掲載、視覚的汚染、ユーザーの失明など、改ざんのリスク。
- タオバオのウェブサイトになりすますなどのなりすましのリスクにより、ユーザーのお金が簡単に失われます。
HTTP S は
SSL/TLS
、HTTP 層と TCP 層の間にプロトコルを 追加します 。これにより、上記のリスクを十分に解決できます。
- 情報の暗号化: インタラクション情報は盗まれませんが、アカウントを「忘れた」場合はアカウントが失われます。
- 検証の仕組み:通信内容は改ざんできず、改ざんされた場合は正常に表示されなくなりますが、Baiduの「PPC」ではスパム広告の検索が可能です。
- 身分証明書: 淘宝網が本物の淘宝網であることを証明しますが、「手を切る」ためにお金が失われることには変わりありません。
- 「悪」を行わない限り、SSL/TLS プロトコルは通信の安全を保証できることがわかります。
8. HTTPS は (7) の HTTP の 3 つのリスクをどのように解決しますか?
- ハイブリッド暗号化方式により情報の機密性を実現し、盗聴のリスクを解決します。
- 抽象アルゴリズムは、データの一意の「フィンガープリント」を生成できる完全性を実現するために使用され、そのフィンガープリントはデータの完全性を検証するために使用され、これにより改ざんのリスクが解決されます。
- サーバーの公開キーをデジタル証明書に含めることで、なりすましのリスクを解決できます。
9. HTTPS は必ずしも安全で信頼できるものですか?
HTTPS プロトコル自体には今のところ抜け穴はありません。たとえ中間者攻撃に成功したとしても、基本的にはクライアントの抜け穴 (ユーザーがクリックしてアクセスを続けるか、悪意を持って偽造されたルート証明書をインポートされる) を利用します。 HTTPS が十分に安全でないというわけではありません。
10.TCPとは何ですか?
TCP は、コネクション指向で信頼性の高いバイト ストリーム ベースのトランスポート層通信プロトコルです。
接続指向: 接続するには「1 対 1」である必要があります。UDP プロトコルとは異なり、1 つのホストが同時に複数のホストにメッセージを送信できます。つまり、1 対多はできません。
信頼性: ネットワーク リンクでどのようなリンク変更が発生しても、TCP はメッセージが受信側に到達することを保証します。
バイト ストリーム: ユーザー メッセージが TCP プロトコルを通じて送信されるとき、メッセージはオペレーティング システムによって複数の TCP メッセージに「グループ化」される場合があります。受信側のプログラムが「メッセージ境界」を知らない場合、有効なメッセージを読み取ることができません。ユーザーメッセージ。さらに、TCP パケットには「順序付け」があり、「前の」TCP パケットを受信していない場合は、たとえ次の TCP パケットを先に受信したとしても、アプリケーション層にスローして処理することはできません。」 TCP パケットは自動的に破棄されます。
この記事は、シャオリン兄弟のウェブサイト、シャオリン兄弟 yyds! から簡略化されたものです。
主に自習記録用です!