[Network] HTTP Message

Jeerryy·2023년 2월 10일
1

Network

목록 보기
4/4
post-thumbnail

HTTP에 대해 어느정도 알게 되었으니 한번 HTTP API를 작성 해보자.

잠깐.. 메시지를 어떻게 작성하지?

HTTP Message

HTTP Message는 서버와 클라이언트 간에 데이터가 교환되는 방식이다. 메시지 타입은 클라이언트에서 서버로 액션을 요청하는 Request(요청)서버에서 클라이언트로 응답해주는 Response(응답)으로 2가지가 존재한다.

구조

HTTP 메시지 구조는

  • start-line(시작 라인)
  • header(헤더)
  • empty line(공백 라인)
  • message body로 이루어져있다.

Request Message

start-line

  • status-line이 존재하고 method, request-target, http-version이 표시된다.

method

  • 종류: GET, POST,PUT,DELETE ....
  • 서버가 수행해야할 동작을 지정한다.
    - GET: 리소스 조회
    • POST: 요청 내역 처리

request-target

  • absolute-path[?query](절대경로[?쿼리])
  • 절대경로: /로 시작하는 경로

Response Message

start-line

  • status-line이 존재하고 http-version, status-code, reason-phrase이 표시된다.

status-code

요청 성공, 실패를 나타냄

  • 200: 성공
  • 400: 클라이언트 요청 오류
  • 500: 서버 내부 오류

reason-phrase

사람이 이해할 수 있는 짧은 상태 코드 설명 글

  • field-name:OWS field-value OWS (OWS: 띄어쓰기 허용
  • field-name은 대소문자 구문 없음
  • 용도
    • HTTP 전송에 필요한 모든 부가 정보
    • 표준 헤더가 너무 많음
    • 필요 시 임의의 헤더 추가 가능

message body

  • 용도
    • 실제 전송할 데이터
    • HTML 문서, 이미지, 영상, JSON 등등 byte로 표환할 수 있는 모든 데이터 전송 가능

정리

  • HTTP는 단순하다.
  • HTTP 메시지도 매우 단순하다.
  • 크게 성공하는 표준 기술은 단순하지만 확장 가능한 기술이다.
profile
다양한 경험을 해보고자 하는 Backend-Engineer. [2023년은 내실 다지기의 해]

0개의 댓글