프레임 새로고침할 때 페이지 유지하기 입니다.

· 10년 전 · 1248

제목 그대로 PHP로 생성한 프레임에서 새로고침할 때 페이지 유지하기입니다.

필요하신 분들 많았으리라 봅니다. ;;

전부터 PHP를 이용해 만든 프레임 페이지에서 브라우저의 refresh 버튼을 누를 때

현재 보고 있는 페이지가 아니라 src=''로 정해줬던 페이지가 뜨는 걸 보고

브라우저가 html 페이지와 php 페이지 간에 뭔가 차이를 느낀다고 생각해 왔는데..

뭐 전에는 별 필요성을 못 느꼈기 때문에 + 귀찮아서 그냥 두었다가

'XXXX XX를 위한 것인데 대충 만들 수 없다'는 자세로 6^_^;;

Q&A나 Tip&Tech를 좀 찾아봤더니..

아무도 답변이 없었더군요. ㅡoㅡ;


-----------------------------------------------------------------------------
$LastModified = gmdate("D d M Y H:i:s", filemtime($HTTP_SERVER_VARS[SCRIPT_FILENAME]));
 header("Last-Modified: $LastModified GMT");
header("ETag: \"$LastModified\"");
-----------------------------------------------------------------------------


보시면 뭔지 금방 아시겠죠? ^_^

복사해다가 프레임 생성하는 파일의 맨 위에 넣으시면 됩니다.


다른 브라우저는 확인 안 해 봤고.. 익쑤뿔로러만.. 확인했습니다.

'자동으로', '페이지를 열 때마다' 모두 잘 되는군요.

일반 html 문서와 비교해 볼 때 (일반적으로) PHP가 뿌려주는 내용은

html content 부분은 똑같지만, header의 Last-Modified 의 시각이 매번 달라집니다.

(사실 아예 없습니다. -_-;;; 원래 동적인 resource니까 당연하지요.)

따라서 PHP에서 header에 Cache-Control을 최대로 잡아줘도

새로 받아온 수정 시각을 바탕으로 frame 전체를 새로고침하는 것으로 보입니다.

그래서 PHP 역시 header에 파일의 실제 수정 시각을 넣어주도록 하였습니다.


ETag는 HTTP/1.1 문서에 있길래 넣어봤습니다.

The entity tag MAY be used for comparison with other entities from the same resource.
 

|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

태그 필터 (최대 3개) 전체 개발자 소스 기타 mysql 팁자료실 javascript php linux flash 정규표현식 jquery node.js mobile 웹서버 os 프로그램 강좌 썸네일 이미지관련 도로명주소 그누보드5 기획자 견적서 계약서 기획서 마케팅 제안서 seo 통계 서식 통계자료 퍼블리셔 html css 반응형 웹접근성 퍼블리싱 표준화 반응형웹 홈페이지기초 부트스트랩 angularjs 포럼 스크린리더 센스리더 개발자톡 개발자팁 퍼블리셔톡 퍼블리셔팁 기획자톡 기획자팁 프로그램강좌 퍼블리싱강좌
+
제목 글쓴이 날짜 조회
10년 전 조회 1,151
10년 전 조회 1,138
10년 전 조회 1,270
10년 전 조회 1,087
10년 전 조회 1,096
10년 전 조회 1,178
10년 전 조회 1,920
10년 전 조회 1,122
10년 전 조회 1,140
10년 전 조회 1,249
10년 전 조회 1,159
10년 전 조회 1,293
10년 전 조회 1,239
10년 전 조회 1,140
10년 전 조회 1,126
10년 전 조회 1,188
10년 전 조회 1,158
10년 전 조회 1,109
10년 전 조회 1,055
10년 전 조회 1,017
10년 전 조회 1,060
10년 전 조회 1,463
10년 전 조회 1,090
10년 전 조회 1,196
10년 전 조회 1,141
10년 전 조회 1,362
10년 전 조회 1,181
10년 전 조회 1,094
10년 전 조회 1,140
10년 전 조회 1,175
10년 전 조회 1,271
10년 전 조회 1,223
10년 전 조회 1,094
10년 전 조회 1,149
10년 전 조회 2,077
10년 전 조회 1,968
10년 전 조회 1,511
10년 전 조회 2,091
10년 전 조회 1,151
10년 전 조회 1,610
10년 전 조회 1,817
10년 전 조회 1,325
10년 전 조회 1,307
10년 전 조회 1,236
10년 전 조회 1,099
10년 전 조회 1,292
10년 전 조회 1,251
10년 전 조회 1,791
10년 전 조회 1,207
10년 전 조회 1,249
10년 전 조회 1,286
10년 전 조회 2,184
10년 전 조회 1,317
10년 전 조회 1,204
10년 전 조회 1,291
10년 전 조회 1,328
10년 전 조회 1,410
10년 전 조회 1,208
10년 전 조회 1,274
10년 전 조회 1,626
10년 전 조회 1,581
10년 전 조회 1,559
10년 전 조회 1,111
10년 전 조회 1,204
10년 전 조회 1,175
10년 전 조회 1,121
10년 전 조회 1,363
10년 전 조회 1,107
10년 전 조회 1,429
10년 전 조회 1,113
10년 전 조회 1,419
10년 전 조회 1,117
10년 전 조회 1,367
10년 전 조회 1,927
10년 전 조회 1,286
10년 전 조회 1,331
10년 전 조회 1,134
10년 전 조회 2,257
10년 전 조회 1,837
10년 전 조회 1,455
10년 전 조회 1,377
10년 전 조회 1,185
10년 전 조회 1,316
10년 전 조회 2,015
10년 전 조회 2,031
10년 전 조회 2,664
10년 전 조회 1,850
10년 전 조회 1,658
10년 전 조회 2,180
10년 전 조회 1,305
10년 전 조회 1,263
10년 전 조회 1,240
10년 전 조회 1,244
10년 전 조회 1,325
10년 전 조회 1,450
10년 전 조회 1,683
10년 전 조회 1,221
10년 전 조회 1,718
10년 전 조회 1,712
10년 전 조회 1,417