내가 선택한 알고리즘을 사용하여 Etag 헤더를 보내려면 apache 또는 nginx 서버를 어떻게 구성해야합니까 (즉, inode, mtime 또는 size는 포함하지 않음)? 새로운 C 모듈을 컴파일하는 대안이 있습니까?맞춤 etag 생성
7
A
답변
4
아파치에서 ETags are handled as a core feature. ETag는 여러 값의 해시로 계산됩니다. 당신은 해시에 포함 값하는 조건 동작을 정의하기 위해 httpd.conf
또는 .htaccess
파일에 FileETag
지시어를 사용할 수 있지만이 지적했듯이, 옵션은 제한됩니다 :
INode
- 파일의 i- 노드 (밀리 세컨드 단위) 타임 스탬프 파일이Size
에서 제공하는 서버의 - -All
바이트 에서 파일의 크기 - 그것은
MTime
에서 게재 된 특정 서버의 수 a 위의None
의 LL - 위의
아무도 당신이 원하는 경우에 진정한 정의의 ETag 생성, 당신은 확실히 아파치 모듈을 작성하는 것이 가장 좋은 선택이 될 것입니다. 그러나 빠르고 까다로운 수정이 필요한 경우 요청을 PHP 스크립트로 라우팅하고 Etag
헤더를 스크립트에 추가하여 고유 한 태그를 생성 할 수 있습니다. 경로는 httpd.conf
또는 .htaccess
파일에 다음과 같습니다
RewriteCond %{REQUEST_FILENAME} \.png$ # This example looks for .png requests
RewriteRule ^(.*)$ /gentag.php?path=$1 [B] # ...and routes them to a PHP script
PHP 스크립트는 다음과 같습니다
<?
$path = $_GET['path']; // Grab the filepath from GET params
$cont = file_get_contents($path); // Get file contents to hash
$hash = crc32($cont); // Create your own ETag hash however you like
header("Etag: $hash"); // Send the custom Etag header
echo $cont; // Dump the file contents to output
?>
관련 문제
- 1. ETag 대 헤더 만료
- 2. 가장 빠른 etag 알고리즘
- 3. ETag 조회를 무시 하시겠습니까?
- 4. HTTP ETag 재생
- 5. sinatra rest-client etag
- 6. 맞춤 구성 섹션 생성 도구
- 7. jqueryui 자동 완성 맞춤 데이터, 목록 생성
- 8. Last.fm API : Etag/Last-Modified 헤더가 지원됩니까?
- 9. 웹 페이지 압축 및 Etag - IIS7
- 10. ETag 헤더를 설정하는 Django의 용도는 무엇입니까?
- 11. 맞춤 글꼴이있는 UILabel이 틀립니다 * 맞춤 * 맞춤 글꼴
- 12. 맞춤 클래스 = 맞춤 + 할당, 맞춤 + 초기화
- 13. PIL로 가운데 맞춤/중간 맞춤?
- 14. 최고의 Mac 맞춤 디스크 이미지 생성 앱은 무엇입니까?
- 15. 내 맞춤 플러그인의 백엔드 인터페이스를 생성/편집하는 방법
- 16. T4 템플릿을 사용하여 EF4 생성 요소에 맞춤 코드를 추가 하시겠습니까?
- 17. Liferay 생성 된 페이지에 맞춤 메타 태그를 추가하는 방법
- 18. 메타베이스에서 etag 접미사 (번호 변경)를 프로그래밍 방식으로 제거 IIS6
- 19. AWS Cloudfront에서 Etag 헤더가 발행되지 않도록 할 수 있습니까?
- 20. 우선 순위는 무엇입니까? ETag 또는 Last-Modified HTTP 헤더?
- 21. GET 요청에 대한 restlet의 lastmodified/Etag/Cache 헤더 보내기
- 22. Google지도 V3 맞춤 툴팁
- 23. 필터가있는 Drupal 맞춤 양식
- 24. 맞춤 바코드 글꼴?
- 25. 맞춤 단어 용 Vim 맞춤법 파일 맞춤
- 26. 맞춤 검색어 : 여러 맞춤 게시물 유형
- 27. 드루팔 (Drupal의 맞춤 모듈 맞춤 URL?
- 28. 구글 맞춤 검색은 여기
- 29. DotNetNuke 모듈의 맞춤 클래스
- 30. 동적으로 생성 된 이미지 캐시
당신이 자신의'ETag'을 설정해야 할 때 사용 사례가 있습니까 정적 파일? –
클러스터에서 제공 - inode와 mtime은 같은 버전에서 동일하지 않습니다. 다른 버전에서는 크기가 동일 할 수도 있습니다. – OrangeDog
Nginx에는 Perl이 내장되어 있습니다. 원격 리소스 (예 : 데이터베이스)에 대한 잠금 기능이없는 상황에서 매우 안정적이고 빠르게 작동합니다. –