cs

[컴퓨터 네트워크] connection timeout / read timeout

<Eunhak> 2024. 8. 28. 17:03

1. 커넥션 타임아웃 (Connection Timeout)

설명:

  • 커넥션 타임아웃은 클라이언트가 서버에 연결을 시도할 때, 일정 시간 내에 연결이 성립되지 않으면 발생하는 타임아웃입니다.
  • 예를 들어, 클라이언트가 서버에 TCP 연결을 시도할 때, 서버가 응답하지 않거나 네트워크 문제가 있는 경우, 클라이언트는 일정 시간이 지나면 연결 시도를 중단하고 타임아웃 에러를 발생시킵니다.

원인:

  • 서버가 다운되었거나, 너무 바빠서 요청에 응답할 수 없는 경우.
  • 네트워크 장애 또는 클라이언트와 서버 사이의 네트워크가 불안정한 경우.
  • 방화벽이나 네트워크 설정 문제로 인해 서버에 접근이 차단된 경우.

설정 예시:

  • 클라이언트에서 커넥션 타임아웃을 5초로 설정한 경우, 5초 내에 서버와 연결이 이루어지지 않으면 타임아웃 에러가 발생합니다.

사용 예시:

  • 웹 브라우저에서 특정 웹사이트에 접속하려고 할 때, 해당 사이트의 서버가 응답하지 않으면 "Connection Timed Out" 오류 메시지를 볼 수 있습니다.

2. 리드 타임아웃 (Read Timeout)

설명:

  • 리드 타임아웃은 클라이언트가 서버와 연결된 상태에서, 서버로부터 응답 데이터를 읽을 때 일정 시간 내에 데이터를 받지 못하면 발생하는 타임아웃입니다.
  • 서버와의 연결이 성공적으로 이루어진 후, 데이터 수신 과정에서 지연이 발생하거나 서버가 데이터를 보내지 않는 경우에 발생합니다.

원인:

  • 서버가 요청을 처리하는 데 너무 오랜 시간이 걸리는 경우.
  • 서버가 대량의 데이터를 전송 중이거나, 응답이 지연되는 경우.
  • 네트워크 성능이 저하되거나, 패킷 손실이 발생한 경우.

설정 예시:

  • 리드 타임아웃을 10초로 설정한 경우, 서버에서 응답 데이터를 받는 중에 10초 내에 데이터를 받지 못하면 타임아웃 에러가 발생합니다.

사용 예시:

  • 클라이언트가 서버에서 대량의 파일을 다운로드하려고 할 때, 서버의 응답이 늦어지면 "Read Timed Out" 오류 메시지가 발생할 수 있습니다.