WEB

[WEB] HTTP

2juhyunju ㅣ 2022. 7. 5. 14:39

HTTP란

  • HyperText Transfer Protocol 의 약자
  • 하이퍼텍스트(HTML) 문서를 교환하기 위해 만들어진 통신 규약
  • 서버간 네트워크 통신시 어떠한 형식으로 통신할지에 대해 정해둔 규약

HTTP 메세지 기본 구조

http 메세지는 기본적으로
시작라인 - 헤더 - 공백라인 - 메세지 바디로 이루어져있다.

시작라인

요청

  • HTTP Method
    • ( GET,POST, PUT,PATCH,DELETE )
  • Request Target
    • 요청 대상의 URL을 명시
  • HTTP Version
    • HTTP 버전으로 현재까지는 대부분이 HTTP/1.1이고 HTTP/2,HTTP/3 까지 있다.

응답

  • Status Code
    • 응답 코드
      • 1xx(정보) : 요청을 받았으며 프로세스를 계속 진행합니다.
      • 2xx(성공) : 요청을 성공적으로 받았으며 인식했고 수용하였습니다.
      • 3xx(리다이렉션) : 요청 완료를 위해 추가 작업 조치가 필요합니다.
      • 4xx(클라이언트 오류) : 요청의 문법이 잘못되었거나 요청을 처리할 수 없습니다.
      • 5xx(서버 오류) : 서버가 명백히 유효한 요청에 대한 충족을 실패했습니다.
  • Status text
    • 응답 상태

헤더

요청

  • Host
    • 호스트 URL
  • User-Agent
    • 클라이언트 정보
  • Accept
    • 서버에서 해당 타입에 데이터를 요청하는 헤더
  • Authorization
    • JWT 같은 인증 토큰을 서버로 보낼 때 사용하는 헤더

응답

  • Date
    • 응답온 일시
  • Content-Type
    • 응답 데이터의 타입
  • Cache-Control
    • 캐시용 헤더

공백라인

헤더와 본문을 구분하는 빈 줄 공백라인은 CRLF 라고 하며 필수 사항

CRLF : 텍스트 파일에서 줄 바꿈을 표시하는 데 사용할 수 있는 제어문자 또는 바이트 코드이다.

CRLF: https://developer.mozilla.org/en-US/docs/Glossary/CRLF


메세지 바디

  • 요청과 관련된 데이터나 응답과 관련된 데이터 또는 문서를 포함한다.
  • 요청과 응답의 유형에 따라 선택적으로 사용

시작라인과 헤더스를 묶어 요청이나 응답의 헤드(head) 라고 말하며 body는 payload라고 말한다.

'WEB' 카테고리의 다른 글

[WEB] DTO(Data Transfer Object)  (0) 2022.07.31
[WEB] MVC 패턴  (0) 2022.07.18
[WEB] WEB Sever, WAS  (1) 2022.06.16
[WEB] ORM  (1) 2022.06.06
[WEB] 쿠키와 세션 그리고 로컬 스토리지  (0) 2022.06.03