2010-12-27 2 views
0

나는 내 닷넷 코드에서 다음이 : 사용자가 인터넷 익스플로러의 뒤로 버튼을 사용하면BACK 버튼의 웹 브라우저 = 새로 고침

Response.Cache.SetCacheability(HttpCacheability.NoCache) 

, 그들은 콘텐츠 경고 만료 얻을. 페이지를 다시로드하려면 F5 키를 눌러야합니다.

캐싱이 없도록 자동 조정이 가능하도록 조정할 수있어 경고가 표시되지 않습니까?

감사합니다, 다시로드하려는 페이지가 POST 요청의 결과 때 '콘텐츠 만료'경고는 일반적으로 최대 온다

M.

+0

코드에서 생성하는 HTTP 헤더는 무엇입니까? ? – Oswald

+0

그것은 Cache-Control : no-cache를 생성합니다. –

답변

1

. 기록에서 정상적인 GET 요청의 경우 브라우저는 단순히 요청을 다시 발행합니다.

이것이 Post-Redirect-Get 패턴이 POST 요청에 사용할 좋은 패턴 인 이유 중 하나입니다. 리디렉션은 브라우저의 기록에서 실제 POST 결과 페이지를 제거하고 리디렉션 한 페이지로 대체합니다. 실제로 브라우저에서는 '리디렉션'이 발생하면 아무 것도 제거하지 않습니다. 브라우저가 리디렉션 된 페이지는 원래 POST 페이지가 아닌 원래 페이지로 바뀝니다.

당신의 GET 요청이 파괴적인 일을 결코해서는 안되는 곳에서 'idempotent gets'를 사용하십시오. (따라서 GET 페이지를 히스토리에서 다시 요청하는 웹 브라우저의 기본 동작은 나쁜 것이 아닙니다.)

+0

확실히 좋은 대안이지만, 우리 시스템에 대한 합당한 영향입니다. 나는 마법 같은 헤더 조합을 원했지만 불가능하다고 생각합니다. –

관련 문제