서브메뉴

Etag (Entity Tag)

Etag

  • Etag는 브라우저에 캐시되어 있는 파일을 사용할 수 있도록 확인하는 작업에 사용되는 HTTP 규약입니다. ( http://en.wikipedia.org/wiki/HTTP_ETag )
  • Textcube에서 Etag는 javascript, css, image 등 일반 파일에 대한 접근에 대해 이루어 집니다.
  • 리소스에 대한 Etag를 생성하는 규칙은 대개 filesystem 정보만으로 이루어집니다. 따라서, 텍스트큐브에서도 stat을 구한뒤 얻어지는 size와 modified 값만으로 다음과 같이 만듭니다.
    $etag = sprintf( "textcube-%x", (0x1234*$fs['size'])^$fs['mtime'] ) );
    
  • i-node, rdev 정보등을 추가하여 섞지 않은 이유는 두 대 이상의 웹서버가 Network filesystem에 의해 공유되는 파일시스템상에 있는 파일을 접근할 경우 각 서버마다 달라질 수 있기 때문입니다.
  • /browser/trunk/lib/function/misc.php 파일에 구현되어 있으며, 함수는 dumpWithEtag 입니다.
  • headerEtag 를 이용할 경우, 비단 파일 시스템상에 존재하지 않는 URI에 대한 출력도 브라우저캐시를 이용할 수 있습니다.

2008/02/13 21:39 2008/02/13 21:39
0개의 걸린 글 과    0개의 댓글이 있습니다.
이 글의 댓글/트랙백 RSS : http://textcube.org/manual/rss/response/26
이 글의 관련글(트랙백) 주소 : http://textcube.org/manual/trackback/26
Comments