HyperText Transfer Protocol.
지금 현재 HTML, TEXT, IMAGE, 음성, 파일, 영상, JSON, XML 모든 데이터를 http로 주고 받는다.
비 연결성의 한계
HTTP 메세지 구조
요청 메세지
시작 라인은 request-line 과 status-line으로 구성된다.
예 : GET /search?q=hello&hl=ko HTTP/1.1 Host: www.google.com
request-line = method SP(HTTP 메서드), request-target(요청 대상), Http-version(HTTP 버전)으로 구성됨
HTTP 메서드 : GET
서버가 수행해야할 동작 지정
요청 대상 : search?q=hello&hl=ko
absolute-path?query 로 구성됨.
절대경로 = "/"로 시작하는 경로
HTTP 버전 : HTTP/1.1
HTTP 버전 명시
응답 메세지
status-line 부분
status-line = HTTP-version(HTTP 버전) SP status-code(상태 코드) SP reason-phrase(이유 문구) CRLF
HTTP 버전
HTTP 상태 코드 : 요청 성공, 실패를 나타냄(200, 400, 500 등)
이유 문구 : 사람이 이해할 수 있는 짧은 상태 코드 설명 글
HTTP 헤더
header-field = field-name ":" OWS field-value OWS
== > "Host" 와 ":" 사이는 띄어쓰면 안됨(표준 스펙). ":"와 "field-value"는 띄어쓰기 가능