[네트워크] - HTTP 메시지의 구조

2022. 10. 17. 19:10·개발지식/네트워크

HTTP 메시지의 분류

  • HTTP 요청 메시지와 HTTP 응답 메시지로 구분한다.
start-line 시작 라인
header 헤더
empty line 공백 라인(CRLF)
message body

HTTP 요청 메시지 예시

GET /search?q=hello&hl=ko HTTP/1.1
Host: www.google.com

message body

HTTP 응답 메시지 예시

HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Content-Length: 4432

message body

HTTP 메시지의 구조

시작 라인

  1. 요청 메시지
GET /search?q=hello&hl=ko HTTP/1.1

요청 메시지에서는 시작 라인이 request-line 이라고 불린다.

request-line = HTTP 메서드 (SP:공백) 요청대상 (SP:공백)HTTP버전 CRLF(엔터)

  • HTTP메서드 : GET, POST, PUT, DELETE 등
  • 요청 대상 : “/”로 시작하는 절대경로 (/search?q=hello&hl=ko)
  • HTTP 버전 : HTTP/1.1
  1. 응답 메시지
HTTP/1.1 200 OK

응답 메시지에서는 시작 라인이 status-line 이라고 불린다.

status-line = HTTP 버전(SP)상태 코드(SP)상태 문구(reason-phrase) CRLF(엔터)

  • HTTP 상태코드 : 요청 성공, 실패를 나타내준다.
    • 200 : 성공
    • 300 : 리다이렉션
    • 400 : 클라이언트 요청 오류
    • 500 : 서버 내부 오류
  • 상태 문구 : 상태 코드에 대한 짧은 문구 (OK)

HTTP 헤더

- 요청 메시지
Host: www.google.com

- 응답 메시지
Content-Type: text/html;charset=UTF-8
Content-Length: 4432

header-field = 필드 이름":" (OWS: 띄어쓰기 허용) 필드 값 (OWS)

  • HTTP 전송에 필요한 모든 부가 정보가 들어있다.
  • 필요시 임의의 헤더를 추가

HTTP 메시지 바디

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

참고

https://www.inflearn.com/course/http-웹-네트워크/dashboard

 

모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의

실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., - 강의 소개 | 인프런...

www.inflearn.com

 

반응형
저작자표시 (새창열림)
'개발지식/네트워크' 카테고리의 다른 글
  • [네트워크] HTTP 메서드 활용 - 데이터 전송방법
  • [네트워크] HTTP 메서드란?
  • [네트워크] URI란?
  • [네트워크] IP(인터넷 프로토콜)란? TCP와 UDP
LightSource
LightSource
어제보단 발전한 오늘의 나를 위한 블로그
    반응형
  • LightSource
    LightSourceCoder
    LightSource
  • 전체
    오늘
    어제
    • 분류 전체보기 (152)
      • Git (4)
      • Language (6)
        • Java (6)
      • Back-End (63)
        • Spring Boot (4)
        • MyBatis (1)
        • Oracle (1)
        • PL SQL (3)
        • JPA (26)
        • Spring Data JPA (5)
        • Spring MVC (8)
        • Spring (12)
        • Spring Security (2)
        • Redis (1)
      • Front-End (38)
        • 아이오닉 (2)
        • JSP (7)
        • JavaScript (4)
        • React (16)
        • TypeScript (3)
        • Angular (6)
      • AWS (1)
      • CI & CD (1)
      • 개발지식 (13)
        • 네트워크 (9)
        • CS 지식 (4)
      • 데이터모델링 (2)
      • Tool (1)
      • 프로젝트 (5)
      • 독후감 (2)
      • 잡생각 (0)
      • 면접 준비 (1)
      • 알고리즘 (14)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    배요소열추가
    배열요소수정
    배열요소삭제
    react
    리액트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
LightSource
[네트워크] - HTTP 메시지의 구조
상단으로

티스토리툴바