TIL 04、汎用セッション:HTTP、Webの動作*


Godjunと申英の会話の要約脳に直接打ってくれた説明ありがとう.🙏

HTTP


HTTPをリリースします.
  • Hyper Text
  • Transfer
  • Protocol
  • ハイパーテキストはHTMLのテキストと同じです.ドキュメントとドキュメントはハイパーリンクで接続されており、あるドキュメントからすぐに別のドキュメントにアクセスできることを意味します.転送は転送を意味し、プロトコルは承諾、ルールを意味します.従って、HTTPは、コンピュータ間でHTML文書を交換する通信約定であると推定される.

    HTTP特性


    1.要求/応答


    基本的に通信であるため、HTTPは要求部と応答部からなる.

    2. Stateless


    各HTTPは互いに独立している.すなわち,1つのHTTP通信は過去に発生した通信を理解していない.従って、1回の通信には、以前に発生した通信に関するすべての情報が含まれている.
    しかし、同じデータを連続的に交換すれば、コンピュータ資源を浪費することになる.それを補うために,セッションやCookieのような技術が導入されている.

    リクエスト


    HTTPのリクエスト部分を調べてみましょう.主にフロントエンドからバックエンドまでの特定のデータ要件に使用されます.リクエストセクションは3つのセクションに分かれています.
  • Start Line
  • Headers
  • Body
  • それです.

    1. Start Line


    Start Line再1.HTTP Method, 2. Request Target, 3. HTTPバージョンに分かれています.
  • HTTPメソッドは、要求における意図的な動作を定義する.主にGETPOSTDELETEが用いられる.
  • 要求先には、送信要求のURLがある.
  • HTTPバージョンは使用するHTTPバージョンを記録する.主に1.1版です.
  • 例えば、GET /login HTTP/1.1.

    2. Headers


    要求を送信するメタデータを含む部分.JavaScriptのオブジェクトと同じ形式で整理されます.
    Headers: {
    	Host: 요청을 보내는 목표(타겟)의 주소. 즉, 요청을 보내는 웹사이트의 기본 주소가 된다
    	(ex. www.apple.co.kr)
    	User-Agent: 요청을 보내는 클라이언트의 대한 정보 (ex. chrome, firefox, safari, explorer)
    	Content-Type: 해당 요청이 보내는 메세지 body의 타입 (ex. application/json)
    	Content-Length: body 내용의 길이
    	Authorization: 회원의 인증/인가를 처리하기 위해 로그인 토큰을 Authroization 에 담는다
    }
    メタデータに入る情報は定型化されています.したがって、メタデータ・ボックスに未定義の情報が追加されても、これらの情報はどこにも使用されません.

    3. Body


    要求セクションに必要なデータが含まれている場所.これもオブジェクトのフォーマットと同じです.例えば、登録ページにはIDとPasswordが必要であり、情報が含まれているのはBody部分である.
    Body: {
    	"user_email": "[email protected]"
    	"user_password": "wecode"
    }
    もちろん、必要なデータが要求されていなければ、Body部分がない可能性があります.

    応答


    HTTPリクエストを受信すると、応答します.回答も3つの部分に分かれています.
  • Status Line
  • Headers
  • Body
  • 1. Status Line


    Status Lineは1です.HTTP Version, 2. Status Code, 3. Status Textで構成されています.
  • HTTPバージョンは使用するHTTPバージョンを記録する.
  • Status Codeは応答結果コードを記録する.
  • Status Textは応答結果をより詳細に説明した.
  • 例えば、HTTP/1.1 404 Not Found.

    2. Headers


    体のリーダーと同じ構造です.ただ、入力した情報が違います.はい、ユーザー関連の情報ではなく、サーバ関連の情報が含まれています.

    3. Body


    要求に応じて、サーバからクライアントに移行するデータが含まれます.JSONタイプからなります.
    Body: {
    	"message": "SUCCESS"
    	"token": "kldiduajsadm@9df0asmzm" (암호화된 유저의 정보)
    }

    HTTP通信サンプル専門家

    (축약된 요청 메세지)
    GET /shop/bag HTTP/1.1
    Headers: {
    	"HOST": "https://www.apple.com/kr"
    	"Authroization": "kldiduajsadm@9df0asmzm" (유저가 본인임을 증명할 수 있는 인증/인가 토큰)
    }
    
    (축약된 응답 메시지)
    HTTP/1.1 200 SUCCESS
    Body: {
    	"message": "SUCCESS"
    	"carts": [
    		{
    			"productId": 10
    			"name": "Pro Display XDR - Nano-texture 글래스"
    			"price": "₩7,899,000"
    			"quantity": 1
    		},
    		{
    			"productId": 20
    			"name": "Mac Pro"
    			"price": "₩73,376,000"
    			"quantity": 2
    		}	
    	]
    }

    レスポンスコード


    応答中のコードのみを見ても,通信の結果を推定することができる.主に200、400、500番台を使います.200台は通信の成功を意味し、400台は通信の失敗を意味し、500台はサーバに問題が発生したことを意味します.

    1. 200: OK


    要求が適切に処理されたことを示す.

    2. 201: Created


    POSTメソッドでデータを生成した場合、正常に実行されました.

    3. 400: Bad Request


    誤った要求を意味する.

    4. 401: Unauthorized


    先行が必要な部分が先行していない場合に投げ出されるエラーコード.例えば、賛機能を使いたいのですが、ログインしていない場合は401コードが応答します.

    5. 403: Forbidden


    権限のない部分にリクエストを送信します.例えば、有料サービスを購入していない会員が有料サービスにアクセスしようとすると、403コードに応答する.

    6. 404: Not Found


    要求urlが無効な場合、404コードが投げ出されます.

    7. 500: Internal Server Error


    リクエストが正常に完了したが、サーバ内部の問題で応答できない場合、500個のコードが放出されます.a.k.aフロントの問題ではありません.

    Webの働き方


    Webは、ユーザとサーバコンピュータとの間のHTTP通信により動作する.

    管理する


    ネット上に置くという意味です.ホームページ上のコンポーネントは(html,css,js)管理コンピュータ(Webサーバ)に格納され,ユーザが要求を出すと応答する.ユーザーがいつリクエストを発行するか分からないため、ホストは常にインターネットに接続する必要があります.このような物理サーバを導入することは望ましいが、ほとんどのホストはサービスを使用してこれらの機能を提供することができる.(例えば、AWS、cafe 24.)

    IP


    では、ユーザーはどのようにホストの位置を知ってリクエストを発行しますか?これはIPアドレスによって実現される.IPアドレスは、デバイスがインターネットを介して通信する際に各デバイスに与える固有の数字の集合である.例えば、172.31.255.255.ユニークな数字であるため、複数のデバイスが同じWiFiに接続されていても、各デバイスのIPアドレスは異なる.

    DNS (Domain Name System)


    したがって、ユーザは、特定のウェブサイトのIPアドレスを入力することによってアクセスすることができる.しかし、考えてみれば、地球上に存在する多くのサイトに対して、数字からなるIPアドレスを覚えることは不可能だ.したがって、DNSサーバは、ユーザが読み取り、記憶できるドメイン名をIPアドレスごとにマッピングする責任を負う.
    ドメイン名は以下の内容で構成されています.

    Web行動まとめ



    Webがどのように働くかを学びました.1つのセッションが完了するたびに、理解する部分が増えるので、寄付したほうがいいです.共同会話ありがとうございます👍