HTTPの勉強について.


HTTPを勉強しているときに見た様々な文章を参考にまとめた文章です.

1.定義

  • WWW上で情報(HTML文書など)を交換するためのプロトコル
  • .
  • TCPとUDP、80ポート(以前は主にTCP規格を使用していたが、HTTP/3.0からUDPを選択)
  • 2.特徴

  • アプリケーション層プロトコルは、信頼性の高い伝送プロトコルであれば理論的に何でも使用できる拡張性を有する.
  • 要求が送信されると、応答メッセージがサーバから受信される.
  • 3.HTTP Cookie


    (出典:https://developer.mozilla.org/ko/docs/Web/HTTP/Cookies)
  • Cookieとは、サーバとユーザのWebブラウザで相互に伝送される小さなデータブロックを指す.
  • ユーザのWebブラウザは、データブロックを保存し、同じサーバ上で再要求されたときにデータを一緒に送信する.
  • Cookieは、主に、既存の要求と現在の要求が同じブラウザから来たかどうかを決定するために使用される.
    ->ユーザーのログインステータスを維持します.
  • 次の3つの目的のためにビスケットを使用します.
  •           1. 세션관리
              2. 개인화
              3. 트래킹
  • では、WebストレージAPIとIndexedDBを使用してCookieの欠点を補うようになりました.各リクエストが同時にCookieを送信すると、パフォーマンスが低下し、セキュリティも低下します.
  • Cookieは通常ブラウザに格納され、Cookieは同じサーバによって作成された要求のCookie HTTPヘッダに含まれて送信される.
  • // 예시
    // 서버 헤더가 클라이언트에게 쿠키를 저장하라고 전달
    HTTP/1.0 200 OK
    Content-type: text/html
    Set-Cookie: yummy_cookie=choco
    Set-Cookie: tasty_cookie=strawberry
    
    [page content]
    
    // 브라우저는 쿠키 헤더를 사용하여 서버로 이전에 저장했던 모든 쿠키들을 회신
    GET /sample_page.html HTTP/1.1
    Host: www.example.org
    Cookie: yummy_cookie=choco; tasty_cookie=strawberry

    4.その他の用語の説明


    4-1. WEB

  • www=World Wide Web:Team Burners Ryによる
  • の開発
  • Webはインターネットと異なり、
  • Webの3つの要素:HTTP、HTML、URL
  • HTTP 1.0 1.1から2.0 3.0(TCP、UDP使用/80番ポート)
  • へ移行する.
  • IPは主にIPV 4を使用するが、IPV 6に設定することができる.
  • 4-2. HTTP RESOPONSE


  • の最初の行はstatusline
  • です.
  • の応答後Headers
  • レスポンスメッセージリーダー

  • 4-3. ブラウザの動作

  • 最初にHTML
  • にインポートする.
  • HTMLは、CSS、jsおよび画像へのリンク情報
  • を抽出する.
  • で抽出する情報のURLを利用して新規要求
  • を送信する.
  • すべてのWebリソースを受信し、
  • のレンダリングを開始する.
  • 11.1パイプライン用、2.0並列処理用
  • パイプラインは接続を再使用します
  • keep-alive:timeout=5]5秒以内に接続
  • を保持する
  • 接続開始時は3回、終了時は4回と非常に大きな損失であるが、この7回の損失
  • は「継続」で解決できる.
  • 並列処理
  • 現在、多くのブラウザで2.0
  • がサポートされています.

    4-4. URL


    URI = URL + URN
    シナリオ:ユーザー名:パスワード@ホスト:ポート/パス;パラメータ?クエリー#プラン
  • クエリーの使い勝手:および&,
  • 計画:クライアントのみで使用する、サーバ側への影響なし*Webブラウザでは、アンカー(ページから必要な場所まで)
  • .

    4-5. 書式設定

  • MIMEタイプファイルのフォーマットを
  • に分類する
  • は元々電子メールの標準であり、Web上でも
  • を用いる.
  • マルチセクション/ハイブリッドブラウズ
  • multipartは主に大きなファイル
  • をアップロードするために使用されます.

    4-6. httpリクエストメソッド

  • GET受付ファイル(URLに表示)-BODY
  • なし
  • PUTは、データの完全な更新(理論上)-BODYを有する
  • である.
  • POST追加可能データ-BODY付き
  • PATCHは一部のデータ(理論的に)を更新した-BODYを有する
  • DELETEは
  • を削除します.

    4-7. ユーザーの識別-認証方法

  • IPトラッキング
  • HTTP Authnti
  • URLは識別子
  • を含む.
  • cookie(最も一般的な)
  • 4-8. クッキー

  • サーバ上でsession-id=12345;
  • クライアントはCookieを受信した後、Cookie要求を送信し続ける
  • 早期にCookieにIDとパスワードを送信>セキュリティは非常に脆弱である
  • .

    4-9. クッキーの用途

  • Cookie管理セッション
  • を使用
  • パーソナライズ(カートなど)
  • トラッキング
  • 4-10. セッション

  • passport→Outhを使いやすいライブラリ
  • ログイン時ログインウィンドウ→配信(id,pwd)→サーバ上のidとpwdが一致していることを検証(DBに保存、暗号化、一方向ハッシュ値=復号不可)}ユーザのidとpwdを表示してマッチングし、セッションIDを生成(セッションIDが非常に長いのはなぜですか?ハッカー攻撃時)*その後接続中断*次回セッションID付き類推
  • サーバメモリのユーザ情報をセッション
  • と呼ぶ.
  • セッションは、サーバが頻繁にアクセスする情報(アイデンティティ、ログイン日など)を含む}最小の情報のみを含むことが望ましい*サーバのメモリ負荷を防止するために、メモリ内のセッションアイデンティティの内容のみを送信すればよい
  • 登録はPOSTが好ましい、ログアウトもPOSTを多く使用するログアウトはセッションDBのセッションデータ、set-cookieを削除する(set-cookieを削除する場合は通常クッキーの有効期限を現在の時間に変更する前の方法を使用する)
  • .