(C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files\)
에 캐쉬가 있는지를 먼저 보고, 있으면 그걸 보여준다.
그래서 가끔 우린 사이트내용이 바뀌었는데도, 로컬에 있는 파일을 보는 경우가 있다.
location.href로 주소이동을 했을떄 이와 같은 일이 일어난다.
(b)[뒤로]버튼을 누르면 이전 URL로 이동.
[뒤로]버튼이 정상장동되는것은 History객체에 배열처럼 이전 URL들이 기록되어있기때문이다.
우리가 [뒤로]버튼을 누르는건 History객체를 역순으로 되집어 가는 과정이다. ( history.back()이 그 일을 한다. )
location.href를 쓰면 [뒤로]버튼도 history.back()도 직접URL바꿨을때와 똑같이 작동한다.
그럼 location.replace()는 뭐가 다를까?
location.repalce()는 다음과 같이 작동한다.
1. location.replace()는 (a)의 경우 '인터넷 임시파일'을 쓰지 않는다. 매소드가 실행될때마다 매번 서버에 접속해서 페이지를 가져온다. 게시판 리스트같은 곳을 이동할때 location.href를 쓰면 새 글이 올라온것을 모르고 '로컬에 있는 파일'만 보는 일이 생길 수 있는데, location.replace()를 쓰면 이를 방지할 수 있다.
2. location.replace()은 새 페이지로 이동하는게 아니라 현재페이지를 바꿔주는 거다.
말장난 같아도 이거 중요한거다.. 왜중요한고하니...
(b)의 경우, History객체에 새로운 URL를 기록하는게 아니라 현재 페이지값을 바꾼다.
그러므로 location.replace()로 이동하고 [뒤로]버튼을 누르면 이전페이지가 아니라 이전,이전페이지가 뜬다. 이해가 안된다고?