1. 세션 유지
리퀘스트 타임아웃 (Request Timeout)
리퀘스트 타임아웃은 특정 HTTP 요청에 대해 서버로부터 응답을 기다리는 최대 시간을 설정하는 타임아웃입니다. Connect Timeout과 Read Timeout을 포함하는 더 전체적인 타임아웃을 의미합니다.
3.
[ Connect Timeout & Read Timeout ]
Connect Timeout과 Read Timeout은 웹 애플리케이션에서 네트워크 통신의 타임아웃을 설정
HTTP 요청이나 API 호출과 관련된 타임아웃
< 연결 > < 응답 >
1. Connect Timeout
- Connect Timeout은 클라이언트(예: 웹 브라우저 또는 애플리케이션)가 서버에 연결을 시도할 때 연결이 완료될 때까지 기다리는 최대 시간을 설정하는 타임아웃입니다.
2. Read Timeout
- Read Timeout은 클라이언트가 서버에 연결한 이후, 서버가 데이터를 보내기 시작한 후 응답을 기다리는 최대 시간을 설정하는 타임아웃입니다.
- 서버가 요청에 대한 응답을 일정 시간 내에 보내지 않으면 이 타임아웃이 발생
3. 세션 타임아웃 (Session Timeout)
- 세션 타임아웃은 클라이언트와 서버 간의 세션(예: 로그인 상태 유지)에 대한 타임아웃을 의미합니다.
- 세션 타임아웃은 사용자가 일정 시간 동안 아무런 활동이 없을 경우, 서버가 세션을 자동으로 종료하도록 설정하는 기능입니다. 주로 웹 애플리케이션에서 사용되며, 사용자가 로그인을 유지하거나 세션을 갱신할 때 관련됩니다.
- 세션 타임아웃은 사용자가 일정 시간 동안 활동하지 않으면 발생하는 타임아웃으로, 네트워크 연결 시간과는 관련이 없습니다
4. 리퀘스트 타임아웃 (Request Timeout)
- 리퀘스트 타임아웃은 특정 HTTP 요청에 대해 서버로부터 응답을 기다리는 최대 시간을 설정하는 타임아웃입니다. Connect Timeout과 Read Timeout을 포함하는 더 전체적인 타임아웃을 의미합니다.
- 클라이언트가 서버에 요청을 보내고, 서버 응답을 기다리는 전체 시간을 제한합니다.
- 예를 들어, 리퀘스트 타임아웃을 10초로 설정하면, 서버와 연결을 시도하고, 데이터를 받고 처리하는 모든 과정에서 10초를 초과하면 요청이 실패한 것으로 처리됩니다.
7. URLConnection 사용 사례
- 웹 페이지 요청: HTTP GET 요청을 통해 웹 페이지를 다운로드하거나, 데이터를 읽을 때 사용됩니다.
- API 호출: RESTful API와 상호작용할 때, HTTP POST/GET 요청을 보낼 때 유용합니다.
- 파일 다운로드: 서버에서 파일을 다운로드하거나, 파일을 업로드하는 경우 URLConnection을 사용하여 데이터를 처리할 수 있습니다.
- 웹 크롤링: 웹 페이지의 데이터를 수집하거나 파싱하는 데 사용될 수 있습니다.