• 카테고리

    질문 & 답변
  • 세부 분야

    웹 개발

  • 해결 여부

    미해결

캐시 무효화 질문

24.06.21 23:45 작성 조회수 57

0

  1. 이전 강의를 토대로 캐시를 막으려면 get 대신 post로 조회하면 불필요한 캐시조차 아에 생성이 안되지 않나요? 만약에 된다면 이 방법이 더 효율적일거 같은데요

  2. 프록시 캐시는 자기(캐시)가 유효한지 어떻게 검증하나요?

     

    예를들면,

    no cache가 안붙으면 클라이언트의 요청은 프록시캐시까지만 접근하는데, 이때 프록시 캐시가 독단적으로 원서버에 해당 캐시가 유효한지 요청을 보내나요? 이렇게 되면 결국 요청이 원서버까지 갖다오는 시간보다 더 될텐데.. 프록시 캐시가 자신을 검증을 하는건지 안하는건지 하면 언제하는지 궁금합니다.

답변 1

답변을 작성해보세요.

2

안녕하세요. 노동자님

  1. HTTP 캐시와 GET vs POST 메서드:

GET 대신 POST를 사용하면 일반적으로 캐시가 생성되지 않는 것은 맞습니다. 이는 HTTP 스펙에 따라 GET 요청은 기본적으로 캐시 가능하고, POST는 기본적으로 캐시 불가능하기 때문입니다.

하지만 이 방법에는 몇 가지 단점이 있습니다:

a) RESTful 원칙 위배: GET은 리소스 조회에, POST는 리소스 생성에 사용되는 것이 일반적인 규칙입니다.

b) 성능 저하: 필요한 경우에 캐시를 활용할 수 없게 되어 서버 부하가 증가하고 응답 시간이 늘어날 수 있습니다.

c) 브라우저 동작: 브라우저의 뒤로 가기 버튼이나 새로고침 동작이 예상과 다르게 작동할 수 있습니다.

따라서, 캐시를 완전히 막는 것보다는 필요에 따라 적절히 제어하는 것이 더 효율적인 방법일 수 있습니다.

 

  1. 프록시 캐시

프록시 캐시도, 프록시 캐시와 원 서버와의 관계에서 보면 클라이언트가 됩니다. 따라서 클라이언트와 비슷한 메커니즘으로 캐시 유효성을 확인할 수 있습니다.

 

감사합니다.

채널톡 아이콘