TIL22 | HTTP 특징과 구조(Request / Response)

2021. 10. 15. 20:14프로그래밍/웹관련

반응형

1. HTTP

✔️ HTTP는 HyperText Transfer Protocol의 약자이다

HyperText

문서와 문서가 링크로 연결되어 있음을 뜻한다.

Transfer

HTML로 만든 웹 페이지 문서(파일)을 보낸다.

Protocol

컴퓨터끼리 어떻게 HTML파일을 주고 받을 지에 대한 소통방식 또는 약속

그래서 HTTP란?

네트워크 상에서 HTML파일을 서로 주고 받을 수 있도록 하는 통신규약이다.

 

2. HTTP 두가지 특징

1️⃣️ Request & Response

전송을 보내는 주체와 받는 주체의 소통

 

2️⃣️ Stateless

State(상태) + less(없음)

HTTP 개별 통신은 모두 독립이어서, 과거의 HTTP통신의 결과(상태)를 보존하지 않는다.

Screenshot from 2021-10-15 14-23-46

매 통신마다 사전에 필요한 모든 정보를 담아서 요청을 보내야만 한다.

Screenshot from 2021-10-15 14-26-00

 

3. Request & Response 구조

🖇️ Request 구조

request

:: Start Line

  • HTTP Method : 해당 요청이 의도한 액션을 정의. 주로 GET , POST , DELETE 가 많이 쓰인다.
  • Request target : 해당 request가 전송되는 목표 url
  • HTTP Version : 말 그대로 사용되는 HTTP 버전. 주로 1.1 버전이 널리 쓰인다.

:: 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 에 담는다.

:: Body

  • 요청 메소드에 따라 존재하지 않을 수 있다.
  • 주로 POST 메소드일 때 사용한다.

 

🖇️ Response 구조

response

:: Status Line

  • HTTP Version : 요청의 HTTP 버전과 동일

  • Status Code : 응답 메세지의 상태 코드

  • Status Text : 응답의 상태를 간략하게 설명해주는 텍스트

:: Headers

  • 요청의 헤더와 동일하다.
  • 요청하는 브라우저의 정보가 담긴 User-Agent 대신, Server 헤더가 사용된다.

:: Body

  • 응답의 형태에 따라 존재하지 않을 수 있다.

 

반응형