해당 글은 인프런의 김영한님의 강의인 '모든 개발자를 위한 HTTP 웹 기본 지식'을 공부하며 작성한 글입니다.
이제 HTTP에 대하여 조금 더 깊게 알아보자.
원래는 HyperText 이지만 HTTP에 모든 것을 담아서 전송할 수 있다.
무상태는 응답 서버를 쉽게 바꿀 수 있기 때문에 스케일 아웃에 유리하다
하지만 로그인한 상태를 유지를 시켜야 한다. Stateless는 실무적인 한계가 있다.
그래서 상태 유지는 최소한으로 사용한다.
HTTP 초기에는...
HTTP 지속 연결을 사용하면...
선착순 이벤트, 명절 KTX 예약 등 같은 시간에 맞추어 발생하는 대용량 트래픽
최대한 비연결성으로 개발하자
HTTP 메세지 구조
start-line
header
CRLF(empty line)
message body
HTTP Request Message의 예시
GET /search?... HTTP/1.1
Host: www....
HTTP Response Message
HTTP1/1 200 OK
Content-Type : text/html;charset=UTF-8
Content-Length : 123
<html>
...
</html>
header-field = field-name ":" OWS field-value OWS
Host: www.naver.com > O
Host:www.naver.com > O
Host : www.naver.com > X
HTTP 전송에 필요한 모든 부가정보를 담고 있다.
표준 헤더가 굉장히 많으며, 필요할 경우 임의로 헤더를 추가할 수 있다.