내가 일하는 회사에서 ASP.NET MVC2로 개발되고 IIS7에서 호스팅되는 웹 응용 프로그램이 있습니다.ASP.NET MVC2 HTTP304 브라우저 캐싱 상태 코드
특정 작업에서 배열을 포함하는 JsonResult 객체를 반환합니다. 이 배열은 매일 업데이트됩니다. 같은 날에 오는 모든 요청은 동일한 응답으로 끝납니다.
public ActionResult SomeAction(int id)
{
// Some calculations
return Json(resultArray, JsonRequestBehavior.AllowGet);
}
조작이 비싸기 때문에 브라우저 캐싱으로 성능을 향상시키고 싶습니다.
캐시 헤더를 추가 했으므로 사용자 브라우저가 데이터베이스의 다음 업데이트까지 결과를 캐시하도록 알려줍니다.
그 외에도 "Last-Modified"헤더를 추가하여 브라우저가 지정된 날짜 이후에 소스가 수정되었는지 묻습니다.
그 방법은 무엇입니까? DB가 날짜 브라우저 (Last-Modified 헤더)를 요청한 후 수정되었는지 확인하고 수정하지 않은 경우 정적 파일 (이미지, CSS 및 js 파일 등)에 대해 IIS가 자동으로 반환합니다.
[출력 캐시 특성에 대해 잘 알고 있습니까?] (http://msdn.microsoft.com/en-us/library/system.web.mvc.outputcacheattribute.aspx) – bzlm
예,하지만 출력 캐시 특성을 컴파일해야합니다. 시간을 정의한 기간, 나는 마지막으로 수정 한 날짜에 대한 런타임에 DB를 확인해야합니다. – SadullahCeran
맞아. 그러나 실제 질문은 무엇입니까? 네가 알아 낸 모든 것 같아. Expires and Last-Modified와 Cache-Control 항목을 설정하면 모든 것이 제대로 작동하지 않아야합니까? – bzlm