인프런 커뮤니티 질문&답변

이은성님의 프로필 이미지
이은성

작성한 질문수

롱런하는 슈퍼 개발자가 되기 위한 필수 지식, IT 인프라 기초 총정리

서버의 역할 및 종류

포워드 프록시(캐시) 서버에 대한 질문이 있습니다.

해결된 질문

작성

·

207

·

수정됨

0

안녕하세요, 클라이언트에서 서버로 한 번 더 정보를 요청하는 경우 캐시 서버에서 데이터를 조회하여 데이터를 보여준다고 하셨는데

그렇다면 클라이언트에서 처음으로 요청하는 데이터의 경우에도 캐시 서버에서 조회하는 과정을 항상 거치나요? 아니면 캐시 서버에 조회하려는 데이터가 있다는 사실을 알 수 있는 방법이 있나요?

답변 1

1

쉐어드IT님의 프로필 이미지
쉐어드IT
지식공유자

안녕하세요, 문의하신 내용에 대해 간단히 답변드리면, 캐시 서버에서 조회하는 과정을 항상 거칩니다. 따로 캐시 서버에 클라이언트에서 요청한 데이터가 있는지 없는지 알 수 있는 방법이 있는 것은 아니고, 그 때마다 데이터를, 캐시를 조회한다고 보시면 됩니다.

 

캐시 서버에서 데이터를 조회하고 클라이언트에게 전달하는 과정을 풀어서 설명하면 아래와 같습니다.

 

  1. 캐시 조회: 클라이언트에서 데이터를 요청하면, 포워드 프록시 서버는 먼저 자체 캐시에서 요청된 데이터가 있는지 확인합니다. 이 캐시는 이전에 요청되었던 데이터를 저장하고 있으며, 클라이언트의 요청에 빠르게 응답할 수 있도록 도와줍니다.

     

  2. 캐시에 데이터가 있는 경우: 요청받은 데이터가 캐시에 있으면, 서버는 이 데이터를 클라이언트에게 직접 전송합니다. 이 과정은 원래의 데이터 소스(예: 웹 서버)에 접근할 필요 없기 때문에 빠른 데이터 전달이 가능한 것입니다.

  3. 캐시에 데이터가 없는 경우: 요청된 데이터가 캐시에 없으면, 포워드 프록시 서버는 데이터를 보유한 서버(웹서버)에 이 요청을 전달합니다. 즉, 포워드 프록시 서버가 클라이언트를 대신하여 데이터를 보유한 서버에 데이터를 달라고 요청을 보내고, 이후 웹서버로부터 응답을 받은 후에 이를 클라이언트에게 전송합니다. 이 과정에서 받은 데이터는 캐시에 저장되어 이후의 요청에 대비합니다.

  4. 캐시 업데이트와 관리: 포워드 프록시 서버는 캐시의 데이터가 최신 상태를 유지하도록 관리합니다. 이는 데이터의 만료 시간, 변경 빈도, 그리고 다른 캐싱 정책에 의해 결정됩니다.

 

도움이 되었기를 바랍니다.

이은성님의 프로필 이미지
이은성
질문자

궁금했던 내용이었는데 자세히 알려주셔서 너무 감사합니다 🥹

이은성님의 프로필 이미지
이은성

작성한 질문수

질문하기