API Gateway의 세 가지 API 유형(REST, HTTP, WebSocket)은 단순히 기능 차이가 아니라 근본적으로 다른 네트워킹 패러다임을 구현한다. REST API와 HTTP API는 HTTP/1.1의 요청-응답 모델 위에 구축되고, WebSocket API는 RFC 6455(WebSocket Protocol)의 지속적 양방향 연결을 구현한다. 어떤 API 유형을 선택하느냐는 아키텍처 설계 결정이며, 잘못 선택하면 70% 비용 낭비가 되거나 실시간 기능이 근본적으로 불가능해진다. 이 파일에서는 WebSocket API의 연결 생명주기와 HTTP API가 REST API와 어떻게 다른지를 내부 동작 수준에서 해부한다.
HTTP는 Stateless 프로토콜이다. 각 요청은 독립적이며, 서버는 이전 요청을 기억하지 않는다. 이 설계는 1991년 팀 버너스리가 HTML 문서를 전달하기 위해 HTTP를 설계할 때부터의 것이다. 각 요청마다 TCP 연결을 새로 맺고(또는 HTTP Keep-Alive로 재사용하고) 헤더를 반복 전송한다. 폴링(Polling) 방식으로 실시간을 흉내 낼 수 있지만, 클라이언트가 서버에 변경사항을 물어봐야 한다는 근본적 한계가 있다.
WebSocket(RFC 6455, 2011)은 이 문제를 HTTP Upgrade 메커니즘으로 해결한다