[favicon] favicon.ico 요청을 방지하는 방법?

favicon.ico는 없지만 IE는 항상 요청합니다.

브라우저가 내 사이트에서 파비콘을 요청하지 못하게 할 수 있습니까? HTML 헤더에 META-TAG가 있습니까?



답변

먼저 웹 페이지에 파비콘이있는 것이 좋습니다 (일반적으로).

그러나 항상 바람직하지는 않으며 개발자가 추가 페이로드를 피할 수있는 방법이 필요합니다. 예를 들어 IFRAME은 즐겨 찾기 아이콘을 표시하지 않고 요청합니다. 최악의 경우, Chrome 및 Android에서 IFRAME은 3 가지 즐겨 찾기 아이콘 요청을 생성합니다.

"GET /favicon.ico HTTP/1.1" 404 183
"GET /apple-touch-icon-precomposed.png HTTP/1.1" 404 197
"GET /apple-touch-icon.png HTTP/1.1" 404 189

다음은 데이터 URI를 사용하며 가짜 파비콘 요청을 피하는 데 사용할 수 있습니다.

<link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon">

참조를 위해 여기를보십시오 :

Chrome 버그 / 동작은 다음 버전에서 수정 될 것입니다.

다음은 투표를위한 버그 제출입니다.

업데이트 1 :

주석 (jpic)에서 Firefox> = 25는 더 이상 위의 구문을 좋아하지 않는 것 같습니다. Firefox 27에서 테스트했는데 여전히 Webkit / Chrome에서 작동하는 동안 작동하지 않습니다.

최신 브라우저를 모두 다루는 새로운 브라우저가 여기 있습니다. Safari, Chrome 및 Firefox를 테스트했습니다.

<link rel="icon" href="data:;base64,=">

“rel”속성 값에서 “바로 가기”이름을 생략했습니다. 이전 IE에만 ​​해당하며 IE <8 버전은 dataURI를 좋아하지 않기 때문입니다. IE8에서는 테스트되지 않았습니다.

업데이트 2 :

HTML5에 대해 유효성을 검사하기 위해 문서가 필요한 경우 대신 다음을 사용하십시오.

<link rel="icon" href="data:;base64,iVBORw0KGgo=">


답변

<head>HTML 파일 섹션에 다음 줄을 추가 하십시오.

<link rel="icon" href="data:,">

이 솔루션의 특징 :

  • 100 % 유효한 HTML5
  • 매우 짧은
  • IE 8 및 그 이전 버전에서 이상한 점이 없습니다.
  • 브라우저가 현재 HTML 코드를 favicon으로 해석하지 않습니다 (의 경우 href="#")

답변

나는 이것을 보았다 (나는 그것을 테스트하거나 개인적으로 사용하지 않았다):

<link rel="shortcut icon" href="#" />

비슷한 경험이 있습니까?

편집하다:

방금 위의 스 니펫을 테스트하고 강제로 완전히 새로 고쳤을 때 Fiddler에서 즐겨 찾기 아이콘 요청이 없었습니다. IE8 (IE7 표준으로 Compat 모드) 및 FF 3.6에 대해 테스트했습니다.


답변

당신은 할 수 없습니다. 가능한 한 해당 이미지를 작게 만들고 나중에 캐시 무효화 헤더 ( Expires, Cache-Control)를 설정하기 만하면됩니다. 여기 무슨 야후! favicon.ico 요청에 대해 말해야 합니다.


답변

.htaccess 또는 서버 지시문을 사용하여 favicon.ico에 대한 액세스를 거부 할 수 있지만 서버가 액세스 거부 응답을 브라우저에 보내면 여전히 페이지 액세스 속도가 느려집니다.

사용자가 브라우저 캐시에 머 무르도록하여 사이트로 돌아올 때 favicon.ico를 요청하는 브라우저를 중지 할 수 있습니다.

먼저 작은 favicon.ico 이미지를 제공하십시오. 비어있을 수 있지만 가능한 한 작습니다. 200 바이트 미만의 흑백을 만들었습니다. 그런 다음 .htaccess 또는 서버 지시문을 사용하여 나중에 Expires 헤더 파일을 한 달 또는 두 달로 설정하십시오. 동일한 사용자가 사이트로 돌아 오면 브라우저 캐시에서로드되며 요청이 사이트로 이동하지 않습니다. 서버 로그에 더 이상 404가 없습니다.

완전한 Apache 서버 또는 가상 서버를 제어 할 수있는 경우 다음을 수행 할 수 있습니다.

서버 문서 루트가 / var / www / html이면 /etc/httpd/conf/httpd.conf에 추가하십시오.

Alias /favicon.ico "/var/www/html/favicon.ico"
<Directory "/var/www/html">
    <Files favicon.ico>
       ExpiresActive On
       ExpiresDefault "access plus 1 month"
    </Files>
</Directory>

그런 다음 별칭을 지정하기 때문에 하나의 favicon.ico가 모든 가상 호스팅 사이트에서 작동합니다. 사용자가 방문한 후 한 달 동안 브라우저 캐시에서 가져옵니다.

.htaccess의 경우 작동하지 않는 것으로보고됩니다 (내가 확인하지 않음).

AddType image/x-icon .ico
ExpiresActive On
ExpiresByType image/x-icon "access plus 1 month"


답변

매우 간단한 해결책은 아래 코드를에 넣는 것 .htaccess입니다. 나는 같은 문제가 있었고 내 문제를 해결했다.

<IfModule mod_alias.c>
    RedirectMatch 403 favicon.ico
</IfModule>

참조 : http://perishablepress.com/block-favicon-url-404-requests/


답변

당신이 nginx를 사용하는 경우

# skip favicon.ico
#
location = /favicon.ico {
    access_log off;
    return 204;
}