본문 바로가기
IT 공부/새로운 시작

HTTP(5) - HTTP의 기본 특징(2)

by 수박한암살자 2021. 10. 16.

이전 블로그에서 간단하게 소개했던 HTTP의 특징에 대해 더 알아보자

HTTP 메시지

  • HTTP 메시지에 모든 것을 전송함
  • HTML, TEXT, 이미지, 음성, 영상, 파일, json, xml 등 전부...

그럼 HTTP 메시지는 어떻게 전송되는지 보자

 

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

- HTTP 요청 메시지

 

HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Content-Length: 3423
            
<html>
  <body>...</body>
</html>

- HTTP 응답 메시지

 

start-line 시작 라인                             
header 헤더                             
empty line 공백 라인 (CRLF)                            
message body                             

요청 메시지와 응답 메시지의 구조는 위와 같은 HTTP 메시지 구조로 이뤄져 있다.

 

구조 내 요소에 대해서 알아보자

 

요청 메시지의 경우

  • start-line = request-line / status-line
  • request-line = method SP(공백) request-target SP HTTP-version CRLF(엔터)
  • HTTP 메서드 (GET : 조회)
  • 요청 대상 (/search?q=hello&hl=ko)
  • HTTP Version

응답 메시지의 경우

  • start-line =request-line / status-line
  • status-line = HTTP-version SP status-code SP reason-phrase CRLF
  • HTTP status
  • HTTP version
  • 이유 문구 : 사람이 이해할 수 있는 짧은 상태 코드 설명 글(ex : Not Found, Internal Serval Error)

HTTP 헤더

  • header-field = field-name ":" OWS field-value OWS (OWS : 띄어쓰기 허용)
  • field-name은 대소문자 구분을 하지 않음
  • 용도 : HTTP 전송에 필요한 모든 부가 정보
  • ex : 메시지 바디 크기, 타입, 인증, 압축, 요청 클라이언트의 정보,
  • 표준 헤더가 너무 많음

 HTTP 메시지 바디

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

HTTP의 단순함, 확장 가능에 대해

  • 스펙도 읽어볼만 함. 단순함.
  • 메시지도 단순함
  • 크게 성공하는 표준 기술은 단순하지만 확장 가능한 기술!

 

반응형

'IT 공부 > 새로운 시작' 카테고리의 다른 글

HTTP(7) - HTTP 메서드을 알아보자(1)  (0) 2021.10.20
HTTP(6) - HTTP 메소드  (0) 2021.10.17
HTTP(4) - HTTP의 기본 특징(1)  (0) 2021.10.16
HTTP(3) - 웹 브라우저의 요청 흐름  (0) 2021.10.10
HTTP(2) - URI  (0) 2021.10.07

댓글