面接でHTTPを聞いたら?
6187 ワード
基礎についてよく知っていますか.
面接で次の質問があったら、どう答えたらいいか考えてみましょう.
What?
外国人と会話するためには、外国語が分かるはずです.韓国人同士が韓国語を使うように.無名の部分もありますが、状況に応じて適切な言葉でコミュニケーションをとるべきです.HTTPもそうです.
HTTP(HyperText Transfer Protocol)
は、HTML文書などのリソースを取得するための約定を指すWebと通信する方法の1つである.つまり、これはどのように交換するかについてのコミュニケーション方法と約束です.その単語を段階的に分けましょう.
HyperText
これは、
Transfer
Protocol
最近では、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メッセージのタイトルのような感じ
-要求意図を定義する動作
-要求を送信するターゲットurl
-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
サーバにエラーが発生したときのコード予知できない
整理する
上の文章を読んで、次の質問に答えます.
Reference
この問題について(面接でHTTPを聞いたら?), 我々は、より多くの情報をここで見つけました https://velog.io/@willy4202/HTTP를-면접에서-묻는다면テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol