임베디드 시스템에서 맞춤 웹 서버를 사용할 때 캐싱을위한 HTTP 헤더를 올바르게 설정하는 데 문제가 있습니다.맞춤 웹 서버 캐싱
우리의 웹 서버는 XML과 같은 모든 동적 콘텐츠를 생성하는 우리는 반 정적 인 이미지와 함께 좋은 측정을 위해 던진 몇 가지 동적 JSON 요청으로 표시 할 반 정적 XSL 파일을 사용하고 있습니다. XSL 및 이미지 파일을 변경할 수있는 펌웨어 업데이트가 필요할 때 문제가 발생하기 때문에 "반 정적"이라고 말합니다.
다음을 수행해야합니다. XSL 및 이미지 파일을 캐시하고 XML 및 JSON 응답을 캐싱하지 않습니다. 나는 HTTP 응답을 완전히 제어 할 수없는 현재입니다 :
- Etag입니다
- 설정 캐시 제어를 생성하기 위해 수정 시간 및 크기를 사용하여 XSL 및 이미지 파일과 ETag를 사용 :에는 캐시를 XML 및 JSON 응답
내가 말한 것처럼 XSL 및 이미지 파일이 캐시 때때로을 때, 모든 펌웨어 업데이트 될 때까지 멋쟁이 작동합니다. 필자는 Firefox와 Safari의 최신 버전에서 제대로 작동하는 것을 보았지만 IE에는 몇 가지 문제가있었습니다.
이 문제에 대한 한 가지 해결책은 각 버전 (예 : logo-v1.1.png, logo-v1.2.png) 다음에 XSL 및 이미지 파일의 이름을 바꾸고 Expires 헤더를 날짜로 설정하는 것입니다. 미래에는 XSL 파일을 사용하기가 어려울 것이며이를 피하고 싶습니다.
참고 :이 장치의 시계이지만를 설정할 필요하고 ETag를 사용시 내 캐싱 문제의 원인이 될 수있는 것입니다있는 100 % 신뢰할 수 없습니다.
내가 사용해야하는 가장 좋은 방법은 무엇입니까? 가능한 한 많은 웹 서버 요청을 피하고 싶지만 소프트웨어 업데이트 후에 오래된 XSL 및 이미지 파일을 무효로하는 것이 # 1 우선 순위입니다.