모든 것이 HTTP 

HTTP 메시지에 모든 것을 전송할 수 있다.

 

https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/lecture/61363?tab=note&speed=0.75&volume=1.00&mm=close

 

https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/lecture/61363?tab=note&speed=0.75&volume=1.00&mm=close

 

시작라인 

크게 request-line / status-line으로 나뉜다.

start-line = request-line/status-line

 

요청 메시지

request-line = method SP(공백) request-target SP HTTP-version CRLF(엔터)

-HTTP 메서드

  종류 :  GET, POST, PUT, DELETE...

  서버가 수행해야 할 동작 지정

    GET : 리소스 조회

    POST : 요청 내역 처리

-요청대상(/search?q=hello&hl=ko)

  absolute-path[?query](절대경로[?쿼리])

  절대경로="/"로 시작하는 경로 

-HTTP Version

  HTTP 버전을 넣는다.

 

응답 메시지

status-line = HTTP-version SP status-code SP reason-phrase CRLF

-HTTP 버전

-HTTP 상태 코드

  200 : 성공

  400 : 클라이언트 요청 오류

  500 : 서버 내부 오류

-이유 문구

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

 


HTTP 헤더

header-field = field-name ":" OWS field-value OWS (OWS : 띄어쓰기 허용)

 

용도

HTTP 전송에 필요한 모든 부가정보가 들어가 있다.

예) 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트 정보, 서버 애플리케이션, 캐시 관리 정보...

표준 헤더가 너무 많음

필요시 임의의 헤더 추가 가능 

 


HTTP 메시지 바디

 

용도

실제 전송할 데이터

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

 


단순함 확장 가능 

HTTP는 단순하다. 

HTTP 메시지도 매우 단순

크게 성공하는 표준 기술은 단순하지만 확장 가능한 기술

'웹프로그래밍 > 웹 기본 지식' 카테고리의 다른 글

14. HTTP 메서드 - GET, POST  (0) 2021.12.29
13. HTTP API를 만들어보자  (0) 2021.12.29
11. 비 연결성(Connectionless)  (0) 2021.12.28
10. Stateful, Stateless  (0) 2021.12.23
9. 클라이언트 서버 구조  (0) 2021.12.23

+ Recent posts