ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HTTP 구조
    JavaScript 2022. 6. 17. 16:25

     

    HTTP 구조

     

    HTTP란?

    • HyperText Transfer Protocol 의 약자로 하이퍼텍스트(HTML) 문서를 교환하기 위해 만들어진 통신 규약이다.
    • 웹상에서 네트워크로 서버끼리 통신을 할때 어떠한 형식으로 서로 통신을 하자고 규정해 놓은 "통신 형식" 혹은 "통신 구조" 라고 보면 된다. (프론트-백 통신에 사용)

     

    HTTP 통신 방식

    • HTTP는 기본적으로 요청/응답 (request/response) 구조로 되어있다.
    • 클라이언트가 HTTP request를 서버에 보내면 서버는 HTTP response를 보내는 구조로 클라이언트와 서버의 모든 통신이 요청과 응답으로 이루어 진다.
    • HTTP는 요청이 오면 그에 응답을 할뿐, 여러개의 요청/응답 끼리 연결되어 있지 않다. (stateless 하다.)
    • 각각의 요청/응답은 독립적인 요청/응답이므로 여러 요청과 응답의 진행 과정이나 데이터가 필요할때는 쿠키나 세션 등등을 사용하게 된다.

     

    HTTP Request 구조

    • Start Line
      1. HTTP Method - 요청시 보내는 HTTP 메소드 형태 (GET, POST, PUT, PATCH, DELETE, 기타)
      2. Request Target - 어디로 보내는지에 대한 URI
      3. HTTP Version - HTTP 버전

    💡 URI 란?

    통합 자원 식별자로 정보 리소스를 고유하게 식별하고 위치를 지정할 수 있다.

     


    • Headers
      1. Host - 호스트 URL
      2. User-Agent - 클라이언트 정보
      3. Accept - 서버에서 해당 타입에 데이터를 보내달라고 요청하는 헤더
      4. Authorization - 인증 토큰을 서버로 보낼 때 사용하는 헤더
      5. 기타 (Connect, Content-type, Content-Length 등)
    • Body
      해당 Request의 실제 메시지/내용이다. Text, JSON 메시지 뿐만 아니라
      이미지, 비디오, HTML, 문서 등 다양한 형식이 들어올 수 있다.
      💡 대부분의 GET Request Body가 없다! 

     

    HTTP Response 구조

    • Start Line
      1. HTTP Version - 응답 받은 메세지의 HTTP 버전 정보 (HTTP/1.1)
      2. Status Code - 응답 코드 (200)
      3. Status Text - 응답 상태 (OK)
    • Headers
      • Date - 응답 받은 일시
      • Content-Type - 응답 데이터의 타입
      • Cache-Control - 캐시용 헤더
      • 기타 등등

    • Body
      요청에 대한 응답 값
    반응형

    'JavaScript' 카테고리의 다른 글

    깊은복사와 얕은복사, 그리고 최신문법 structuredClone 까지  (10) 2023.01.15
    Axios  (0) 2022.06.14
    자바스크립트 객체 종류와 생성 시기  (0) 2022.06.10
    Array Method  (0) 2022.06.09
    배열 (Array)  (0) 2022.06.07

    댓글

Designed by Tistory.