서버 응답이 심각하게 지연될 경우, 사용자가 새로고침을 통해 동일한 요청을 다시 보낼 수 있습니다.
이때 서버는 아직 처리 중인 첫 번째 요청에 더해 두 번째 요청도 처리해야 하므로 서버 부하가 증가할 수 있다는 글을 봤습니다.
그런데 실제 부하가 증가할까 라는 의문이 있습니다.
tcp 연결은 일반적으로 5-tuple (클라이언트 IP, 클라이언트 포트, 서버 IP, 서버 포트, 프로토콜)로 식별되고 새로고침 시에도 이 5-tuple이 동일하게 유지될 거 같습니다.
따라서 서버 입장에서는 이미 동일한 연결이 존재하므로 새로운 연결을 수립할 수 없으며, 그 결과 두 번째 요청이 처리되지 않아 부하가 증가하지 않을 것이라고 생각했습니다.
그게 아니라면 브라우저가 새로고침 시 클라이언트 포트를 변경하여 새로운 tcp 연결을 생성하는 방식으로 처리하고 있는 건가요??
감사합니다.
Gpt로
tcp에서 connection 설정될 때 handshake로 sync 맞추는데 새로고침하면 새롭게 connection이 수립되고 sync가 달라서 기존거를 재활용이 안됨 - dc App
기존커넥션을 먼저 끊겠지 - dc App
감사합니다! 덕분에 많이 배우네요!
3-way handshake gpt 검색 ㄱㄱ - dc App
keep-alive니 그냥 해당 커넥션으로 중복된 get요청이 ㅈㄴ가는거 아님?
ㄴㄴ새로고침하면 아예 연결 자체를 새로하는듯 - dc App