문제

ETAG를 사용하면 브라우저가 조건부 GETS를 수행 할 수 있습니다. 해당 리소스가 변경된 경우에만 리소스를 다시 다운로드해야합니다. 그러나 브라우저는 서버가 요청에 응답 할 때까지 기다려야합니다.

Etags의 대안은 리소스를 가리키는 URL에 토큰을 소개하는 것입니다.

http://example.com/css/styles.css?token=134124134

또는

http://example.com/css/134124134/styles.css

두 가지 접근법 모두 변경되지 않은 리소스를 다시 다운로드하지 않아도됩니다.

그러나 토큰과 함께 URL을 사용하면 서버가 리소스에서 광범위한 만료 헤더를 설정할 수 있습니다. 이로 인해 조건부 GET에 의해 반드시 발생한 왕복이 절약됩니다. 자원이 변경되지 않으면 URL을 가리키는 URL은 변경되지 않습니다.

토큰이있는 URL에 ETAG를 사용하는 이점이 있습니까?

도움이 되었습니까?

해결책

내가 볼 수있는 읽기 전용 리소스의 주요 단점은 우리 모두가 모든 정적 자원에 대해이 접근법을 취하면 클라이언트 캐시가 모든 종류의 오래된 리소스로 채워지기 시작한다는 것입니다.

또한 쓸모없는 파일을 많이 유지하기 시작하는 모든 중개 캐시를 생각해보십시오.

당신은이 접근법으로 웹과 싸우고 있으며 그것이 인기를 얻었다면 확장 가능한 솔루션이 아니기 때문에 무언가가 바뀌어야 할 것입니다.

제한된 토큰 세트를 사용하고 토큰이 재사용되기 전에 오래된 캐시 된 자원이 만료 될 정도로 충분히 작게 설정할 수있는 하이브리드 접근 방식이있을 수 있습니까?

ETAG는 또한 읽기 쓰기 리소스에 사용 되며이 경우 토큰 솔루션이 작동하지 않는다고 생각합니다.

다른 팁

가장 큰 차이/잠재적 이점은 구성 일 것이라고 생각합니다. URL 설정은 응용 프로그램 내부에서 구성/설정해야합니다 (예 : HTML에는 실제로 값이 포함되어야합니다). ETAG는 전체 웹 서버에 대해 구성되어 있으며 HTML을 이용하기 위해 수정할 필요가 없습니다.

또한 파일이 변경 시점을 가리킬 때 ETAG가 변경 될 때 (올바르게 구성되었다고 가정)가 변경됩니다. URL에 토큰을 추가하려면 변경하라고 지시하는 몇 가지 추가 "사물"이 필요합니다 (HTML 편집 또는 구성 설정 등).

끊임없는 URI가 있습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top