1. ホーム
  2. http

HTTPプロトコルの古典的な面接の質問と回答

2022-02-28 02:07:53
<パス

JavaやPHPの開発者でも、運用・保守担当者でも、インターネット業界にいる限り、面接でHTTPプロトコル関連の知識を聞かれることがあります。何日もかけて、HTTPプロトコルの面接の定番質問をまとめましたので、ご覧ください。内容が複雑で、覚えるのが面倒なので、以下のようなものをお勧めします。 ブックマーク HTTPプロトコルの面接での定番の質問をまとめました。

HTTPメッセージとは何ですか?

HTTPメッセージは、HTTPプロトコルがクライアントとサーバーの間で転送するデータのブロックです。

HTTPメッセージを構成する3つの部品は何ですか?

HTTPメッセージは、開始行、ヘッダー、本文から構成されます。開始行にはメッセージの説明が、ヘッダーにはメッセージの属性が、そしてボディにはメッセージのデータ(オプション、必須ではありません)が含まれています。

HTTPメッセージの2つのカテゴリーとは何ですか?

HTTPのメッセージは、リクエストメッセージとレスポンスメッセージに分けることができます。クライアントがサーバーにリクエストを送るときはリクエストメッセージ、サーバーがクライアントにデータを返すときはレスポンスメッセージになります。例えば、ある文章を取得する場合、リクエストメッセージとレスポンスメッセージは

一般的なHTTPリクエストメソッドとは何ですか?

<テーブル メソッド 説明 本文を含めるかどうか GET 指定された情報をサーバーから取得する いいえ POST 保留データをサーバーに送信する HEAD 指定されたメッセージのヘッダーをサーバーから取得する いいえ プット サーバーにデータを送信し、サーバー上で指定されたデータを置き換える は オプション リクエストURLに指定されたリソースサポートを問い合わせる いいえ DELETE 指定されたデータをサーバーサイドから削除する いいえ トレース 対象リソースのパスに沿ってメッセージループバックテストを実行する いいえ

HTTPステータスコードにはどのような種類がありますか?

<テーブル 全体範囲 定義された範囲 分類 100~199 100~101 情報のヒント 200~299 100~206 成功 300~399 300~305 リダイレクト 400~499 400~415 クライアントエラー 500~599 500~505 サーバーサイドエラー

一般的なHTTPステータスコードとは何ですか?

<テーブル ステータスコード 理由フレーズ 意味 100 継続 リクエストの最初の部分を受信したことを示し、クライアントに継続を求める。 101 スイッチングプロトコル クライアントが指定した Update ヘッダに記載されたプロトコルに、サーバが切り替えていることを示す。 200 オーケー リクエストはOKで、ボディにはリクエストされたデータが含まれています。 201 作成された サーバー側でデータを作成するリクエスト(PUT など)に使用され、Location ヘッダーはデータを作成するための URL を与えます。 202 受入可 リクエストは受け入れられましたが、サーバーはまだそれに対して何も実行していません。 203 非オーソリティ情報 データは正しく返されましたが、一部のレスポンスヘッダーが正しくない可能性があります。 204 コンテンツなし 応答メッセージには開始行とヘッダが含まれ、本文は含まれない。クライアントは元のデータを表示し続ける必要があります。 205 コンテンツをリセットする まだボディ部分はありませんが、クライアントが表示しているデータをクリアする必要があります。 206 部分的なコンテンツ リクエストの一部または範囲が正常に実行されました。 300 複数の選択肢 クライアントが実際に複数のリソースを指すURLを要求し、サーバーがLocationヘッダーに好ましいURLを含めることができます。 301 永久に移動しました 要求された URL は削除され、応答メッセージの Location ヘッダーに現在のリソースの URL が含まれています。 302 発見 301と似ていますが、新しいURLは一時的なものと考え、今後のリクエストは古いURLのままにしておく必要があります。 303 その他を見る 301 と似ていますが、主な目的は POST リクエストのレスポンスがクライアントをリソースに誘導することを許可することです。 304 未修正 クライアントがキャッシュされたドキュメントを持ち、条件付きリクエストを発行した場合、サーバーは元のキャッシュされたデータがまだ利用可能であることをクライアントに通知します。 305 プロキシを使用する プロキシを経由してアクセスする必要があることを示すために使用され、その場所はLocationヘッダで指定される。 306 - 使用しない 307 一時的なリダイレクト 301 と似ていますが、クライアントは一時的なリクエストには Location ヘッダで指定された URL を使用し、それ以降のリクエストには古い URL を使用する必要があります。 400 不正なリクエスト クライアントがサーバーが理解できないエラーリクエストを送信しています。 401 未承認 クライアント認証の要求 402 支払い必須 将来使用するために予約 403 禁止 サーバーはクライアントの要求を理解しますが、その実行を拒否します。 404 見つかりません クライアントから要求された URL がサーバーに見つかりませんでした。 405 不可の方法 サーバーは、クライアントから要求されたメソッドをサポートしていません。 406 不可 サーバーは、クライアントリクエストのタイプに基づいて、リクエストを完了できませんでした。 407 プロキシ認証が必要 401と似ているが、リソースの認証を必要とするプロキシに使用される。 408 リクエストタイムアウト クライアントが送信したリクエストの待ち時間が長すぎる場合、サーバーはこのステータスコードで応答し、接続を終了することができます。 409 コンフリクト クライアントのリクエストがリソース上で何らかの競合を引き起こす可能性があり、サーバーはこのステータスコードを送信することができます。 410 ゴーン 404と似ていますが、サーバーにこのリソースが以前はあったということです。 411 長さが必要 このステータスコードは、サーバーがリクエストメッセージにContent-Lengthヘッダーを含めることをクライアントに要求するときに使用されます。 412 前提条件不成立 このステータスコードは、クライアントが条件付きリクエストを開始し、条件の1つが失敗したときに使用されます。 413 リクエストのエンティティが大きすぎる このステータスコードは、クライアントがサーバーの処理能力または期待値よりも大きなボディパーツを送信したときに使用されます。 414 リクエストURIが大きすぎる このステータスコードは、クライアントが送信したリクエストURIが、サーバーが処理できる、あるいは期待するよりも長い場合に使用されます。 415 非対応のメディアタイプ このステータスコードは、サーバーがクライアントから送信されたコンテンツの種類を理解できない、またはサポートできない場合に使用されます。 416 要求された範囲が満たされない クライアントが指定されたリソースに対して、無効な範囲または満足できない範囲を要求しました。 417 期待外れ サーバーがクライアント側のExpectationヘッダを満たせなかった。 500 内部サーバーエラー サーバー側で内部エラーが発生し、リクエストを完了することができませんでした。 501 未実装 サーバーがクライアントの要求をサポートしておらず、要求を完了できない。 502 不正ゲートウェイ ゲートウェイまたはプロキシとして動作するサーバーが、リモートサーバーから無効なリクエストを受け取りました。 503 サービスを利用できない サーバーが現在リクエストに応答できないが、将来的に応答できるようになることを示すために使用されます。リソースが利用可能になるタイミングは、サーバー側のRetry-Afterヘッダーに含めることができます。 504 ゲートウェイタイムアウト 408 に似ていますが、単にゲートウェイまたはプロキシとして動作するサーバーで、リモートサーバーからのリクエストを適時に取得できない場合です。 505 HTTP バージョンがサポートされていない サーバーが要求されたバージョンの HTTP プロトコルをサポートしていないため、処理を完了できません。

一般的なHTTPヘッダーメッセージは何ですか?

リクエストメッセージのヘッダー情報

<テーブル ヘッダー 意味 例 受入 クライアントが受信可能なコンテンツの種類を指定します。 Accept: text/html,application/xhtml+xml。 受け入れ文字セット クライアントが受け入れることができる文字エンコーディングのセット。 Accept-Charset: GBK Accept-Encoding クライアントがサポートできる、サーバーサイドの戻りコンテンツ圧縮エンコーディングの種類を指定します。 Accept-Encoding: gzip, deflate。 受け入れ言語 クライアントで使用可能な言語 許容言語: zh-CN,zh 認証 HTTP認証のための認証証明書 認可を取得します。基本 b25lbW9yZSUzQSV1NEUwNyV1NzMyQiV1NUI2NiV1NzkzRQ== キャッシュコントロール リクエストとレスポンスが従うキャッシュ機構を指定します。 キャッシュ制御: no-cache 接続 持続的な接続が必要であるかどうかを示す。 接続:キープアライブ クッキー HTTPリクエストを送信すると、そのリクエストドメインの下に保存されているすべてのCookieの値がサーバーにまとめて送信されます。 Cookie: onemore=WanCatSchool; コンテンツの長さ リクエストのコンテンツ長 コンテンツの長さ: 1024 コンテンツタイプ エンティティに対応する要求されたMIME情報 Content-Type: application/x-www-form-urlencoded 日付 リクエストが送信された日付と時刻 日付 月曜日, 16 Mar 2020 11:11:11 GMT 期待する リクエストに対するサーバー側の具体的な動作 期待値:100-continue ホスト 要求されたサーバーのドメイン名とポート番号を指定します。 ホスト:onemore.study 一致した場合 リクエストがエンティティにマッチした場合のみ、データを取得する If-Match: "306073f04224cbd114f14693c272f6a0" 変更後 要求された部分が指定された時間以降に変更された場合、リクエストは成功します。 If-Modified-Since: Mon, 16 Mar 2020 11:11:11 GMT (日本語) 一致しない場合 リクエストの内容がエンティティと一致しない場合のみ、このデータを取得します。 If-None-Match: "306073f04224cbd114f14693c272f6a0" 範囲 データの範囲を指定した条件付き要求を許可します。 If-Range: "306073f04224cbd114f14693c272f6a0" 変更されていない場合 指定された時間以降に変更されていない場合のみ、リクエストは成功します。 If-Unmodified-Since: Mon, 16 Mar 2020 11:11:11 GMT (日本語) 最大転送量 他のプロキシやゲートウェイにリクエストを転送する最大回数です。 マックス・フォワード 10 プラグマ を実装する命令を含めるために使用します。 プラグマ:ノーキャッシュ プロキシ認証 プロキシに接続するための認証証明書 Proxy-Authorization(プロキシ認証)。基本 b25lbW9yZSUzQSV1NEUwNyV1NzMyQiV1NUI2NiV1NzkzRQ== 範囲 範囲を指定して、データの一部分のみを要求する。 範囲:bytes=512-1024 リファラー 直前のリソースのURL Referer: http://onemore.study TE クライアントが受け入れることを望んでいる伝送エンコーディング TE: トレーラ,デフレート;q=0.5 ユーザーエージェント リクエストを行ったクライアントに関する情報が含まれています。 ユーザーエージェント Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:65.0)

応答メッセージのヘッダー情報

<テーブル ヘッダー 意味 例 年齢 オリジナルサーバからプロキシキャッシュが形成されるまでの推定時間(秒、非負)。 年齢:12歳 許可する リソースに対して有効なリクエストアクション 許可する。GET, POST キャッシュコントロール すべてのキャッシュ機構に、キャッシュが利用可能かどうか、またその種類を知らせます。 キャッシュ制御: no-cache コンテンツエンコード サーバーがサポートする戻り値のコンテンツ圧縮エンコーディングの種類を指定します。 コンテンツエンコード:gzip コンテンツ言語 レスポンス・ボディの言語 コンテンツ言語: zh-CN,zh コンテンツの長さ レスポンス・ボディの長さ コンテンツの長さ: 1024 コンテンツの位置 要求されたリソースの実際の場所 Content-Location: /index.do コンテンツ-MD5 リソースの MD5 チェックサム値を返します。 Content-MD5: 306073f04224cbd114f14693c272f6a0 コンテンツ範囲 返されたリソース全体におけるこのセクションのバイト位置 コンテンツ-レンジ:バイト512-1024 コンテンツタイプ リソースのオブジェクトタイプを返します。 Content-Type: text/html; charset=GBK 日付 元のサーバーサイドメッセージが送信された時刻 日付 月曜日, 16 Mar 2020 11:11:11 GMT ETag 要求された変数に対するエンティティタグの現在の値 ETag: "306073f04224cbd114f14693c272f6a0" 期限切れ レスポンスの有効期限日時 期限切れです。月曜日, 16 Mar 2020 11:11:11 GMT 最終更新日 要求されたリソースの最終更新時刻 Last-Modified: 月曜日, 16 Mar 2020 11:11:11 GMT 所在地 リソースの実際のURLをクライアントに知らせる 場所: http://onemore.study プラグマ 実装に特化した指示を含む プラグマ:ノーキャッシュ Proxy-Authenticate このURLのプロキシに適用できる認証スキームとパラメータを示します。 Proxy-Authenticate: 基本 リトライ・アフター エンティティが一時的に望ましくない場合、指定された時間後に再試行するようクライアントに通知する リトライ・アフター 60 サーバー サーバーソフトウェア名 サーバーです。マイクロソフト-IIS/8.5 セット-クッキー Httpクッキーの設定 Set-Cookie: onemore=万猫学社; 転送エンコーディング ファイル転送エンコーディング 転送エンコード:chunked 変化 キャッシュされた応答を使うか、オリジナルサーバにリクエストするかをダウンストリームプロキシに指示する 変化させる。* ビア レスポンスが送信された場所をプロキシクライアントに伝える 経由で HTTP/1.1 GWA WWW-Authenticate クライアントを要求するエンティティが使用すべき認証スキームを示す WWW-Authenticate。基本

記事は継続的に更新されます、WeChat検索"。 わんぱく学習クラブ "まずは読んでみてください。
フォローと返信 " 電子書籍 Javaに関する必読の技術書12冊を無料でお届けします。