프레임(frame) 새로고침할 때 페이지 유지하기

/*
* 출 처 : PHP스쿨 (www.phpschool.com)
* 올린이 : Fencer
*/

제목 그대로 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.

그럼~ 좋은 하루 되세요~ ^_^/"<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:12:10 PHP & HTML에서 이동 됨]</div>
|

댓글 9개

gnu3 질/답, g4 질/답, gnu3 팁, g4 팁에 이르기까지
수 없이 많은 횟수로 등록되었습니다.

> 아무도 답변이 없었더군요. ㅡoㅡ;
~라는 표현은 정말 어불성설입니다.


'설마'라고 생각하실지 몰라서,
토시 하나 다르지 않은 똑같은 내용을 기재해 드립니다.
http://sir.co.kr/bbs/tb.php/g3_tiptech/155
> 아무도 답변이 없었더군요. ㅡoㅡ;
~라는 표현은 정말 어불성설입니다.

위 내용은 원본에 기제되어 있는 내용입니다.

참조 링크
http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=4987



또한 해당 여러 카테고리에 등록되어있는 것은 사실상 찾기는 힘들고, php 카테고리가 적절하다고 생각됩니다.
> 아무도 답변이 없었더군요. ㅡoㅡ;
~라는 표현은 정말 어불성설입니다.
>>> 이 부분의 언급은 제가 성급했습니다.


최소한 어떤 팁을 찾거나 해결책을 찾으려하는 유저라면,

자신이 무엇(어떤 것)을 찾으려 하는지는 파악하고 있어야 합니다.

'새로고침'이라는 키워드를 떠올렸다면,

쉽사리 찾을 수 있었을 텐데요.


인용한 게시물이었을 경우 게시물 자체에 대한 혼동을 막기위해서라도,

게시물의 최하단쪽에 출처를 명시하는 것도 일반적인 상식이라고 볼 수 있습니다.

단순히 Ctrl-C, Ctrl-V라고 할지라도,
해당 내용을 끌어오는 사용자가 어느정도 이해를 하거나,
무슨 내용인가는 파악하고 있어야 합니다.
또한 해당 내용을 끌어오기 전에 이미 중복이 되어 있는지의 여부를
파악하기 위한 선행작업도 수행했어야 된다고 봅니다.


'제목+내용'이던, '제목', '내용'이던지 언급된 게시물과 관련된 내용은,
특별한 검색능력이 없더라도 기본적인 검색옵션으로 찾을 수 있는 내용입니다.
특정 카테고리 여하를 막론하고 그 정도 되는 내용을 찾을수도 없다면
과연 제대로 찾아보려는 노력을 했다고 할 수 있을까요?

'새로고침'이라는 용어가 전문용어일까요?
g4 팁에서 '새로고침' 키워드 검색하였습니다. 그 이전에 엠파스에서 이미 찾은 게시물이였습니다.

방금 전체로 검색해보니, g3 팁에 있군요.

위 글은,

그누보드보다는 php에 더 적절하다고 생각되기에 올린 것이고,

출처는 게시물 상단에 명시되어있습니다.

/*
* 출 처 : PHP스쿨 (www.phpschool.com)
* 올린이 : Fencer
*/

똑같은 글이라고해서 많으면 어떻습니까?

저에게 상당히 불만 많으시네요. ^^

긍정적으로 생각합시다.
그런데 말이죠....
저는 저 방법이 안되더군요...
어디에 넣어줘야 적당한 위치죠?
_head.php ???
head.php ???
head.sub.php ???
------------------------------------------------------------------------------------------------------------------
header("Content-Type: text/html; charset=$g4[charset]");
$gmnow = gmdate("D, d M Y H:i:s") . " GMT";
header("Expires: 0"); // rfc2616 - Section 14.21
header("Last-Modified: " . $gmnow);
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: pre-check=0, post-check=0, max-age=0"); // HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.0
-------------------------------------------------------------------------------------------------------------------
그누보드4 head.sub.php에 선언되어 있는 부분입니다.
위 소스와 게시물의 차이점을 알고싶습니다.
게시물의 방법을 적용해봤지만 새로고침시 브라우저에 나온 도메인으로 이동하는군요.
어디가 잘못된거지 알려주세요. 혹시 삽입 위치가 잘못된건지.
전 head.sub.php의 header선언부의 바로 아래에 추가해줬습니다.
프레임(frame)을 나눌때 쓰이는 소스 입니다....

head.sub.php<--이거하고 상관 없음

노프레임은 사용안됨 ㅎㅎ
세상이슈
19년 전
php 복잡하군요
php로 만들어짐
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

태그 필터 (최대 3개) 전체 개발자 소스 기타 mysql 팁자료실 javascript php linux flash 정규표현식 jquery node.js mobile 웹서버 os 프로그램 강좌 썸네일 이미지관련 도로명주소 그누보드5 기획자 견적서 계약서 기획서 마케팅 제안서 seo 통계 서식 통계자료 퍼블리셔 html css 반응형 웹접근성 퍼블리싱 표준화 반응형웹 홈페이지기초 부트스트랩 angularjs 포럼 스크린리더 센스리더 개발자톡 개발자팁 퍼블리셔톡 퍼블리셔팁 기획자톡 기획자팁 프로그램강좌 퍼블리싱강좌
+
제목 글쓴이 날짜 조회
19년 전 조회 3,685
19년 전 조회 3,644
19년 전 조회 1,868
19년 전 조회 2,236
19년 전 조회 2,802
19년 전 조회 2,465
19년 전 조회 4,329
19년 전 조회 3,329
19년 전 조회 4,097
19년 전 조회 2,625
19년 전 조회 2,504
19년 전 조회 2,974
19년 전 조회 2,505
19년 전 조회 2,799
19년 전 조회 2,489
19년 전 조회 3,199
19년 전 조회 1,719
19년 전 조회 3,008
19년 전 조회 2,282
19년 전 조회 2,204
19년 전 조회 2,297
20년 전 조회 2,660
20년 전 조회 2,151
20년 전 조회 4,481
20년 전 조회 2,704
20년 전 조회 2,472
20년 전 조회 2,979
20년 전 조회 3,070
20년 전 조회 3,141
20년 전 조회 2,656
20년 전 조회 3,040
20년 전 조회 2,563
20년 전 조회 2,229
20년 전 조회 2,810
20년 전 조회 2,496
20년 전 조회 2,565
20년 전 조회 3,822
20년 전 조회 3,287
20년 전 조회 5,025
20년 전 조회 2,426
20년 전 조회 4,527
20년 전 조회 3,122
20년 전 조회 2,899
20년 전 조회 3,756
20년 전 조회 2,664
20년 전 조회 3,739
20년 전 조회 4,026
20년 전 조회 3,445
20년 전 조회 3,496
20년 전 조회 4,110
20년 전 조회 2,371
20년 전 조회 5,097
20년 전 조회 3,654
20년 전 조회 2,613
20년 전 조회 2,290
20년 전 조회 2,762
20년 전 조회 3,037
20년 전 조회 2,802
bbbking
20년 전 조회 5,785
20년 전 조회 2,711
bbbking
20년 전 조회 4,285
20년 전 조회 2,166
20년 전 조회 7,334
20년 전 조회 2,420
20년 전 조회 3,499
20년 전 조회 4,316
20년 전 조회 2,640
20년 전 조회 3,915
20년 전 조회 3,092
20년 전 조회 4,102
20년 전 조회 5,132
20년 전 조회 4,244
20년 전 조회 5,852
20년 전 조회 2,062
20년 전 조회 3,332
20년 전 조회 3,559
20년 전 조회 2,936
20년 전 조회 2,457
20년 전 조회 4,674
20년 전 조회 2,305
20년 전 조회 2,294
20년 전 조회 1,896
20년 전 조회 1,704
20년 전 조회 3,772
20년 전 조회 4,848
20년 전 조회 2,486
20년 전 조회 3,158
20년 전 조회 5,849
20년 전 조회 2,853
20년 전 조회 2,313
20년 전 조회 4,584
20년 전 조회 2,674
20년 전 조회 2,255
20년 전 조회 2,775
20년 전 조회 2,582
20년 전 조회 2,904
20년 전 조회 3,339
20년 전 조회 2,670
20년 전 조회 4,748
20년 전 조회 3,277