[Network] HTTP Message

Jeerryy·2023년 2월 10일
1

Network

목록 보기
4/4
post-thumbnail

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

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

HTTP Message

HTTP-MESSAGE

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

구조

http-message-structure

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개의 댓글