面接でHTTPを聞いたら?

6187 ワード


基礎についてよく知っていますか.
面接で次の質問があったら、どう答えたらいいか考えてみましょう.
  • HTTPの無状態特性は何ですか?
  • リクエストと応答の構造を説明してください.
  • HTTPリクエストメソッドの種類と用途の違いを教えてください.
  • status codeは何ですか.どんなタイプがありますか.
  • この質問に答える前に、HTTPを定義しておきましょう.

    What?


    外国人と会話するためには、外国語が分かるはずです.韓国人同士が韓国語を使うように.無名の部分もありますが、状況に応じて適切な言葉でコミュニケーションをとるべきです.HTTPもそうです.HTTP(HyperText Transfer Protocol)は、HTML文書などのリソースを取得するための約定を指すWebと通信する方法の1つである.つまり、これはどのように交換するかについてのコミュニケーション方法と約束です.
    その単語を段階的に分けましょう.

    HyperText


    これは、
  • ドキュメントとドキュメントがリンクされていることを意味します.
  • Transfer

  • HTML Webドキュメントを送信します.
  • Protocol

  • コンピュータ間でHTMLのコミュニケーション方法または約束
  • をどのように交換するか
    最近では、Webページの転送だけでなく、データの交換にも使用されています.これは、フロントとバックグラウンドがデータを交換する際に事前に約束したようなものです.

    Request Resopnse


    HTTPはリクエストと応答でコミュニケーションをとる.つまり、人間のコミュニケーションの仕方はパソコンにも当てはまり、文字だけでは適応しにくいということです.友達と話しているときのことを考えてみましょう.
    a:今日の気分はどうですか.
    b:家に帰りたい
    上記の会話は、リクエストと応答をうまく実現した例である.
    しかし,会話が難しい事例を見ると,以下のようになる.
    b:私の彼女はきれいすぎますか.ありがとうございます.
    a:まだ聞いてないよ
    頼みがなければ返事だけでは仲良く付き合うのは難しい.
    パソコンもそうです.スムーズで正確なコミュニケーションのために、リクエストに対する回答手順が明確です.
    いずれにしても、好感のある人になるためには、黙っています.
    リクエストに答えるだけでいいという教訓を吸収することもできます.

    本題に戻りましょう.
    このように、HTTPは常にリクエストが必要で応答することができます.
    要求側を클라이언트、送信応答側を서버と呼ぶ.

    HTTPは金魚です。



    どういう意味かと思うかもしれません.
    私の知る限り、HTTPは記憶力が悪く、
    それぞれのリクエストは、すべての情報を正確に話さなければ、対応する行動を起こすことができません.
    HTTP個別通信は独立しており,過去のHTTP通信の結果は残されていない.
    この特性はstatelessと呼ばれています
    ステータスなし?
    ここで言う状態は、、、!
    アプリケーションを含むすべてのアイテムのステータスとは、その時点の状況と品質、すなわち存在状態を指します.
    StatefulとStatelessは,インタラクション状態がどのくらい記録されるか,情報がどのように格納されるかによって区別できる.
    記憶力がよい
    記憶力がわるい
    まず、記憶力の良い状態を見てみましょう.

    もちろん、カフェに行ってもいい普通の会話です.
    以前の情報は毎回保存して会話ができます.
    では、無状態はどうでしょうか.

    リクエストを送信するたびに、最初の情報を保存して送信を続行します.
    新しい人に伝えるように.
    Webに適用して、もう一度理解してみましょう.
    次に、ビデオを見るために経験したプロセスをrequest responseで表します.


    各通信には,事前に必要とされたすべての情報が含まれており,要求を送信していることがわかる.
    どうしてこんな不便な方法を使うのですか.
    1台のサーバが複数のクライアントと通信するため、複数のクライアントのステータスを1つずつ保存することは難しく、すべてのリクエストを覚えようとすると過負荷になる可能性があります.

    リクエストメッセージ構造


    では、私たちが送ったリクエストのメッセージはどうなっていますか?
    サーバがどのような情報を送信する必要があるかを知るために、
    その情報を直接分解しましょう.

    メッセージの構造はstart line,Headers,Bodyの3つである.

    start Line


    :requestメッセージのタイトルのような感じ
  • HTTP method
    -要求意図を定義する動作
  • Request target
    -要求を送信するターゲットurl
  • HTTP version
    -HSTPバージョン
  • Headers


    :要求されたメタデータが含まれます.
    これは追加の説明についての情報です.オブジェクト形式.
    追加情報(メタデータ)が含まれています.
    キー値で構成されており、Pythonではディックシャナリー、JavaScriptではオブジェクトと呼ばれています.

    Body


    :実際の内容、本文
    本文を刊行するには,あってもなくてもよい.
    本文を必要としないリクエストの例は何ですか?

    レスポンスメッセージ構造


    では、サーバがサイトに送信する情報はどのようなものなのでしょうか.
    同じ3種類に分けられ、形態は似ている.

    status Line


    どの回答にもステータスコードがあります.ステータスを簡単に説明するテキストが含まれています.
    たとえば、ないurlに接続すると、Stateを表すようになります.
    では、なぜコードを使うのでしょうか.
    これは基準(統一性)を定めるためです.
    ログイン機能を作成したと仮定すると、メッセージが放出されます.
    誰もが異なる情報を送ることができるからです.
    誰と一緒に仕事をしても、うまくいくようにステータスコードでコミュニケーションをとります.
    ex)成功、ログイン成功!成功など...
    誰とでも話せる国際標準語になればいいと思います.

    HTTP Request Methods


    何があるか見てみましょう.どうせ詳細はグーグルのほうが正確だ.
    よく使われる方法を見てみましょう.

    Get

    데이터를 받아오기만 할 때 사용 

    Post

    데이터를 생성, 수정할 때 사용한다.
    body에 담는 내용이 핵심

    Delete

    서버에 저장된 특정 데이터를 삭제할 때 사용

    実際の例


    Getリクエスト


    カマーズのウェブサイトで、買い物かごに入るとき、
    get/shop/bag http1.1の要求を出す.
    このとき、バックグラウンドにhttp/1.1200 Okのメッセージが表示されます.

    リクエスト情報のサムネイルは以下の通りです.
    헤더를 보면 사용자의 정보가 함께 담겨서 전달된다.
    가져오기만 할 것이니 요청에는 body가 없다.

    Postリクエスト


    ipadを追加したい場合は、次のように要求できます.


    Delete


    買い物かごの中のものを削除するために、以下の要求があります.

    targetが設定され、Deleteが渡されると、応答は204となる.
    伝える内容がなかったので、お招きに成功しました.

    status code


    status codeはたくさんあります.下の写真はその中のよく使われるものを整理しています.

    success

  • lessサーバ上のレスポンスコードは、リクエストを問題なく処理できます.
  • 404 not FoundシャットダウンPOSTメソッドでサーバ上でデータの作成と変更を要求したときに送信されるコード
  • 200: OK削除に成功すると、応答に使用できるコンテンツがない場合に送信されます.
  • client error

  • 201: Createdリクエストが無効な場合に送信されるstatus code.
    要求Bodyに送信された無効なコード.
  • 204: No Content認証されていない場合、多用
    ex)登録されていない場合は買い物かごに入れます
  • 400: Bad Requestユーザーがリクエストに権限を持っていないことを示します.
    アクセスできない情報にアクセスした場合.
    ex)上級会員のみアクセス可能
  • 401: Unauthorized要求されたurlが存在しないことを示すコード.
  • server Error

  • 403: Forbiddenサーバにエラーが発生したときのコード
    予知できない
  • 整理する


    上の文章を読んで、次の質問に答えます.
  • HTTPの無状態特性は何ですか?
  • 要求、応答構造
  • とは
  • HTTP requestメソッドの種類を理解し、違いを説明できます.
  • の代表的なステータスコードの種類が分かる.
  • どこまで整理できるか自分でチェックして検証を続けます.