끄적끄적 코딩일지

HTTP란 본문

IT용어

HTTP란

BaekGyuHyeon 2022. 6. 6. 09:02

HTTP 란?

  • Hyper Text Transper Protocol의 약자
  • 하이퍼텍스트 문서(HTML)을 교환하기 위해 만들어진 통신 규약
  • 서버간 통신시 어떠한 형식으로 통신할지에 대해 정해둔 규약
  • TCP/IP 기반의 통신 방식

HTTP 란?

  • Hyper Text Transper Protocol의 약자
  • 하이퍼텍스트 문서(HTML)을 교환하기 위해 만들어진 통신 규약
  • 서버간 통신시 어떠한 형식으로 통신할지에 대해 정해둔 규약
  • TCP/IP 기반의 통신 방식

HTTP 구조

Request / Response ( 요청 / 응답 )

  • 보내는 쪽을 요청(Request), 요청을 받아 데이터를 보내는것을 응답 (Response) 라고 한다.
  • 3-Way Handshake 방식을 쓴다.
    • 3-Way Handshake : 양쪽 모두 데이터를 전송할 준비가 되었다는것을 보장하고 실제로 데이터 전달이 시작되기전에 송신쪽에서 수신측이 준비되었다는것을 알 수 있도록 한다.
    • 실제 데이터가 전송되기 전 먼저 Client측에서 서버에 신호를 보내면 서버에서는 요청에 대해 응답할수 있다는 데이터를 보낸다. 그후 Client측에서 수신할 준비가 완료되었다는 데이터를 서버측에 보내면 실제 통신이 이루어 진다.

Request 구조

  • Start Line (요청 라인)
    • Http Method : 해당 요청이 의도한 액션을 정의하는 부분, GET,POST,DELETE 등의 정보가 들어가있다.
    • Request Target : 해당 Request가 전송되는 목표 Url
    • Http Version : 사용되는 Http 버전을 의미한다. 주로 1.1 버전이 쓰인다. (0.9 1.0 , 1.1 ,2, 3 버전이 있다.)
  • Header
    • 해당 요청에 대한 추가 정보(Meta Data)를 담고있는 부분이다.
    • Key - Value 값으로 되어있다.
    • Host : 요청을 보내는 목표의 주소, 즉 요청을 보네는 웹사이트의 기본 주소가 된다.
    • User-Agent : 요청을 보내는 클라이언트의 대한 정보(ex. chrome, firefox, safari)
    • Content-Type : 해당 요청이 보내는 메시지 body 타입
      • 음악, 영상, 워드 파일등의 문서를 지칭하기 위해 MIME(Multipurpose Internet Mail Extensions) 를 쓴다.
    • Content-Length : body 내용의 길이
    • Authorization : 회원의 인증/인가를 처리하기 위해 로그인 토큰을 담는 곳
  • CRLF
    • Header 와 Body를 구분하기위한 의도적인 공백
  • Body
    • 요청에 대한 실질적인 내용정보를 담고 있다.
    • 주로 POST 사용시 이용된다.

Response 구조

  • Status Line (상태 라인)
    • Http Version : 요청의 Http Version과 동일
    • Status Code : 응답 메시지의 상태 코드
    • 상태코드 종류
      • 100번대 : 서버가 요청을 받았고 이를 처리하고 있는 상태 (Infomation)
      • 200번대 : 서버가 응답을 성공적으로 받은 상태 (Success)
      • 300번대 : 요청 완료를 위해 추가적인 조치가 필요한 상태(Redirection)
      • 400번대 : 요청의 문법이 잘못되었거나 요청을 처리할 수 없는 상태 (Client Error)
      • 500번대 : 유효한 요청에 대해 서버에서 처리를 할 수 없는 상태 (Server Error)
    • Status Text : 응답 메시지의 상태를 간략하게 설명해주는 텍스트
  • Header
    • Request Header와 동일하게 응답에 대한 추가 정보가 담겨있는 부분
  • Body
    • 요청의 Body와 일반적으로 동일
    • 설계에 따라 body가 있을수도 있고 없을수도 있음
    • 일반적으로는 JSON, Html 같은 정보가 들어가 있음

HTTP 구조

Request / Response ( 요청 / 응답 )

  • 보내는 쪽을 요청(Request), 요청을 받아 데이터를 보내는것을 응답 (Response) 라고 한다.
  • 3-Way Handshake 방식을 쓴다.
    • 3-Way Handshake : 양쪽 모두 데이터를 전송할 준비가 되었다는것을 보장하고 실제로 데이터 전달이 시작되기전에 송신쪽에서 수신측이 준비되었다는것을 알 수 있도록 한다.
    • 실제 데이터가 전송되기 전 먼저 Client측에서 서버에 신호를 보내면 서버에서는 요청에 대해 응답할수 있다는 데이터를 보낸다. 그후 Client측에서 수신할 준비가 완료되었다는 데이터를 서버측에 보내면 실제 통신이 이루어 진다.

Request 구조

  • Start Line (요청 라인)
    • Http Method : 해당 요청이 의도한 액션을 정의하는 부분, GET,POST,DELETE 등의 정보가 들어가있다.
    • Request Target : 해당 Request가 전송되는 목표 Url
    • Http Version : 사용되는 Http 버전을 의미한다. 주로 1.1 버전이 쓰인다. (0.9 1.0 , 1.1 ,2, 3 버전이 있다.)
  • Header
    • 해당 요청에 대한 추가 정보(Meta Data)를 담고있는 부분이다.
    • Key - Value 값으로 되어있다.
    • Host : 요청을 보내는 목표의 주소, 즉 요청을 보네는 웹사이트의 기본 주소가 된다.
    • User-Agent : 요청을 보내는 클라이언트의 대한 정보(ex. chrome, firefox, safari)
    • Content-Type : 해당 요청이 보내는 메시지 body 타입
      • 음악, 영상, 워드 파일등의 문서를 지칭하기 위해 MIME(Multipurpose Internet Mail Extensions) 를 쓴다.
    • Content-Length : body 내용의 길이
    • Authorization : 회원의 인증/인가를 처리하기 위해 로그인 토큰을 담는 곳
  • CRLF
    • Header 와 Body를 구분하기위한 의도적인 공백
  • Body
    • 요청에 대한 실질적인 내용정보를 담고 있다.
    • 주로 POST 사용시 이용된다.

Response 구조

  • Status Line (상태 라인)
    • Http Version : 요청의 Http Version과 동일
    • Status Code : 응답 메시지의 상태 코드
    • 상태코드 종류
      • 100번대 : 서버가 요청을 받았고 이를 처리하고 있는 상태 (Infomation)
      • 200번대 : 서버가 응답을 성공적으로 받은 상태 (Success)
      • 300번대 : 요청 완료를 위해 추가적인 조치가 필요한 상태(Redirection)
      • 400번대 : 요청의 문법이 잘못되었거나 요청을 처리할 수 없는 상태 (Client Error)
      • 500번대 : 유효한 요청에 대해 서버에서 처리를 할 수 없는 상태 (Server Error)
    • Status Text : 응답 메시지의 상태를 간략하게 설명해주는 텍스트
  • Header
    • Request Header와 동일하게 응답에 대한 추가 정보가 담겨있는 부분
  • Body
    • 요청의 Body와 일반적으로 동일
    • 설계에 따라 body가 있을수도 있고 없을수도 있음
    • 일반적으로는 JSON, Html 같은 정보가 들어가 있음

'IT용어' 카테고리의 다른 글

Web에서 실시간 데이터를 표시하기  (0) 2022.06.09
SQL  (0) 2022.06.05
Digital 과 Anolog  (0) 2022.05.18
SSD와 HDD  (0) 2022.05.17
CPU에 대해서 알아보자  (0) 2022.05.16