CS/네트워크

Timeout : Connection Timeout, Read Timeout, 408 Timeout, 504 Timeout

zeomzzz 2024. 11. 2. 16:18
728x90

 

1. Connection Timeout vs. Read Timeout

https://alden-kang.tistory.com/20

  • 서버의 응답이 지연될 때 클라이언트 측에서 발생하는 타임아웃

 

Connection Timeout

  • 종단 간 연결하는데 소요되는 최대 시간을 넘겨 연결할 수 없는 것으로 판단하고 에러 발생
    • 종단 간 연결 : TCP 3 way handshake를 통한 TCP 연결
  • RTO : 패킷 유실 여부를 판단하는 타임아웃 값
    • RTT(Round Trip Time)을 기준으로 생성
  • 가능한 Timeout 경우
    • SYN 패킷 유실 : 최초 연결 시 InitRTO 기준 (Linux 기준 1초로 하드 코딩됨)
    • SYN + ACK 패킷 유실
    • ACK 패킷 유실

 

Read Timeout

  • 연결된 종단 간에 데이터를 주고 받을 때 소요되는 최대 시간을 넘겨 데이터를 받을 수 없는 것으로 판단하고 에러 발생

 

 

2. 408 Timeout vs. 504 Timeout

  • 서버가 클라이언트의 요청을 처리하지 못하는 상황에서 발생하는 오류

 

408 Request Timeout

  • 4XX : 클라이언트 오류. 잘못된 문법 등으로 서버가 요청을 수행할 수 없음
  • 요청 처리 시간이 초과되어 서버에서 요청을 처리하지 않고 연결을 닫음
  • 원인

 

504 Gateway Timeout

  • 5XX : 서버 오류. 서버가 정상 요청을 처리하지 못함
  • 게이트웨이 시간 초과로, 서버에서 요청을 처리하지 않고 연결을 닫음
  • 408 Request Timeout과의 차이 : 다른 서버에게 요청을 보내고 응답을 기다리다 타임아웃이 발생한 게이트웨이나 프록시 서버에서 온 응답임

 

 


참고 자료

 

 

728x90