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

· 10년 전 · 1323

제목 그대로 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,197
10년 전 조회 1,194
10년 전 조회 1,324
10년 전 조회 1,139
10년 전 조회 1,146
10년 전 조회 1,236
10년 전 조회 1,974
10년 전 조회 1,177
10년 전 조회 1,200
10년 전 조회 1,297
10년 전 조회 1,210
10년 전 조회 1,345
10년 전 조회 1,288
10년 전 조회 1,197
10년 전 조회 1,188
10년 전 조회 1,235
10년 전 조회 1,227
10년 전 조회 1,152
10년 전 조회 1,105
10년 전 조회 1,073
10년 전 조회 1,109
10년 전 조회 1,513
10년 전 조회 1,147
10년 전 조회 1,251
10년 전 조회 1,200
10년 전 조회 1,413
10년 전 조회 1,244
10년 전 조회 1,163
10년 전 조회 1,202
10년 전 조회 1,234
10년 전 조회 1,336
10년 전 조회 1,279
10년 전 조회 1,156
10년 전 조회 1,220
10년 전 조회 2,136
10년 전 조회 2,031
10년 전 조회 1,578
10년 전 조회 2,159
10년 전 조회 1,202
10년 전 조회 1,669
10년 전 조회 1,870
10년 전 조회 1,365
10년 전 조회 1,347
10년 전 조회 1,288
10년 전 조회 1,142
10년 전 조회 1,338
10년 전 조회 1,311
10년 전 조회 1,845
10년 전 조회 1,269
10년 전 조회 1,324
10년 전 조회 1,337
10년 전 조회 2,237
10년 전 조회 1,375
10년 전 조회 1,265
10년 전 조회 1,346
10년 전 조회 1,382
10년 전 조회 1,462
10년 전 조회 1,268
10년 전 조회 1,331
10년 전 조회 1,681
10년 전 조회 1,632
10년 전 조회 1,622
10년 전 조회 1,159
10년 전 조회 1,267
10년 전 조회 1,238
10년 전 조회 1,187
10년 전 조회 1,413
10년 전 조회 1,168
10년 전 조회 1,494
10년 전 조회 1,166
10년 전 조회 1,467
10년 전 조회 1,175
10년 전 조회 1,437
10년 전 조회 1,989
10년 전 조회 1,330
10년 전 조회 1,396
10년 전 조회 1,194
10년 전 조회 2,318
10년 전 조회 1,906
10년 전 조회 1,512
10년 전 조회 1,445
10년 전 조회 1,247
10년 전 조회 1,380
10년 전 조회 2,079
10년 전 조회 2,089
10년 전 조회 2,726
10년 전 조회 1,886
10년 전 조회 1,719
10년 전 조회 2,249
10년 전 조회 1,373
10년 전 조회 1,327
10년 전 조회 1,291
10년 전 조회 1,309
10년 전 조회 1,381
10년 전 조회 1,511
10년 전 조회 1,745
10년 전 조회 1,277
10년 전 조회 1,773
10년 전 조회 1,749
10년 전 조회 1,479