Language 만료된 페이지에 대한 이야기

황제낙엽 2005.10.21 17:31 조회 수 : 49 추천:91

sitelink1  
sitelink2  
sitelink3  
sitelink4  
sitelink5  
extra_vars6  


경고: 만료된 페이지입니다.
사용자가 요청한 페이지는 폼으로 보낸 정보를 사용하여 만들어진 페이지입니다.
이 페이지는 더 이상 사용할 수 없습니다. 보안을 위해 Internet Explorer는 사용자의
개인 정보를 자동으로 재전송하지 않습니다.
사용자 개인 정보를 재전송하고 이 페이지를 보려면 새로 고침 단추를 누르십시오.

('Warning: Page has Expired The page you requested
> was created using information you submitted in a
> form. This page is no longer available. As a
> security precaution, Internet Explorer does not
> automatically resubmit your information for you.
>
> To resubmit your information and view this Web page,
> click the Refresh button. '와 같은 메세지가 나옵니다.)



post 리퀘스트를 보내서 처리한 뒤 그 서블릿/jsp 가 페이지 표시까지 하면

그렇습니다.

post 요청을 받아서 처리한 뒤 결과 페이지로 sendRedirect 해주시면

그런 문제가 없었던 기억이 나는군요.




만기가 된 페이지라고 표시되는 이유는 Form tag를 사용한 경우입니다.
만일 우리가 글을 쓰고 Back를 눌러서 이전페이지로 가면 일반적으로 약 10%정도
그런 메시지가 뜨는데..

거기서 다시 리프레쉬 버튼을 누르면??

같은 글이 2번 저장이 되는 거지에.
이 메시지를 보고프지 않으신다면.
글쓴 변수명에 쓴 글을 달고 나니는 수밖에 없지요.
그래서 이전페이지를 하면 호출당하는 페이지에서는 변수명에 그 글을 저장해서 즉 받아서.
화면에 뿌리는 수가 있는 것로 알고 있어요.






정적인 페이지 (html, htm, txt) 등은 잘 될테고
문제는 동적인 페이지 (*.cgi, servlet, asp, jsp) 등은
정통적인 POST 나 GET 방식으로 서버에 request 를 날려야 하기 때문에
그런 메세지가 나는 걸로 알고 있습니다.
해결 방법은 Head 의 META tag 를 사용 하시어 cache 를 ON 시키시면
동적인 페이지라도 정적인 페이지로 인식하여
back 하더라도 보여주게 되는 것으로 알고 있습니다.








[ 네이버에서 찾은 좀 쉬운 설명]

이것은 대상 서버에 핑을다시 보내지않는다는 것을 의미합니다.

(예를들어 제가 벅스뮤직에가고 싶으면 벅스 아이콘을 더블클릭하죠,,

그럼 되죠,, 근데.. 이원리가 어떻게 될까요,,?

아이콘을 선택하면 모뎀에서,, 벅스 서버를 찾아 핑(신호)을 보냅니다.

그럼 상대 벅스 서버는 이핑을 받아,, 다시 모뎀(사용자)에 핑을 받아칩니다.

그럼 접속되는 것이죠,,

근데 ,, 위에 핑을 다시 보내지 않게 하면 핑을 보내기만하구,, 받아쳐지는 것이

아니게되서,, 아디정보빼오기가 되지않습니다. 상대서버에서,, 나쁜의도로 핑을검색

해서,,상대 아피주소를 스캔닝해도,, 보내면 돌아와야되는데,,상대컴이 받아치지

않으니,, 스캔을 못하는 것이죠,,

이것이 만료페이지라고 나오는 이유이며,,

보통이설정은 익스풀로러 위에보심 - 도구 - 인터넷 옵션 - 개인정보- 설정- 보통

으로 해놓으면 허용되지 않는 쿠키를 제한하므로,, 위같이 스캔을 못하게 할순

있지만 되돌아오지 않으므로,, 말료 페이지(즉 마지막 페이지라고 나옵니다,)

이것은 이상이 아닙니다. 단지 개인정보 보안 을 좀 올린것 뿐이죠,,

단지 보내면 받아쳐야,, 다시 화면이 나옵니다.

( 다음넷의 경우,,카페에서,, 글을 쓸때 보안이나,, 개인정보를 높게 설정할

경우,, 쿠키의제한 률이 높이지므로,, 창이 표시되지않습니다,.

(이렇게 되면 만료페이지가 표시됩니다.) 다음서버가 사용자 컴에왔는데,,,

개인정보 방화벽이 높게설정되 있기 땜시,,

말이 좀 길어졌는데, 말료페이지를 보지않으려면 보안을 낮음,,

개인정보는 낮음으로 하면됩니다.

폐해: 개인정보를 낮게하면 원치않는 스파이웨어나 쓰레기인 광고툴(프로그램)

이 자동 설치되는 것을 막지못하고 허용하는 결과를 초래합니다.

겁주는것 같지만 사실입니다.

하지만 너무 높게하면 사용하지 못하는 사이트가 생깁니다,

그러니, 보통으로해놓으시면 됩니다.














[ 브라우저가 캐싱하는 것 막기 (뒤로버튼 클릭시 만료된 페이지가 보이도록 하기)  ]

브라우저의 임시인터넷파일 설정에서 '확인하지않음' 으로 설정되어있는 경우...
브라우저는 해당 화일을 먼저 클라이언트의 캐쉬에서 조사하여 있으면 읽어온다...
따라서 서버의 화일에는 접근을 안한다..


HTML의 경우 (HEAD 태그 안에..)
<meta http-equiv="Cache-Control" content="no-cache"/>
<meta http-equiv="Expires" content="0"/>
<meta http-equiv="Pragma" content="no-cache"/>



ASP의 경우
<%
Response.AddHeader "Cache-Control","no-cache"
Response.AddHeader "Expires","0"
Response.AddHeader "Pragma","no-cache"
%>



JSP의 경우에는 다음과 같습니다.
<%
   response.setHeader("cache-control","no-cache");
   response.setHeader("expires","0");
   response.setHeader("pragma","no-cache");
%>