거의 모든 형태의 데이터를 HTTP 메시지에 담아서 전송~

HTTP 1, HTTP 2버전은 TCP

HTTP 3 버전은 UDP 사용중.

1버전 공부할건데, 성능 개선된 2 3 버전 많이 확장중.

HTTP는 클라, 서버 구조. 클라가 메시지를 보내면 서버가 응답을 보낼 때 까지 기다린다!

무상태 프로토콜(stateless)을 지향한다

서버가 상태를 유지(stateful) 한다면 응답 서버가 고장나서 바뀐다면 클라이언트는 다시 새로운 서버를 찾아 요청해야한다.

서버는 상태를 보관하지 않고 클라이언트가 필요한 정보를 담아서 보낸다면 어떤 서버든 괜찮을 것이다.

무상태는 응답서버를 쉽게 바꿀 수 있다 → 무한한 서버 증식 가능(스케일 아웃)

stateless를 꼭 기억하자!! 대용량 트래픽은 어떻게든 머리를 쥐어짜서 stateless하게 설계해야한다고 함!

비 연결성(connectionless)를 지향한다.

서버에 볼일 다보고 연결을 유지해놓는다면 클라들이 서버 자원을 계속 사용중 일 것이다!

서버가 응답 만들어서 보내면 연결 끊어야한다.

단점은 그럼 3way handshake 또 해야할까?