[TIL] HTTP : The Definitive Guide "p237 ~ p239"

시윤·2025년 3월 5일
0

[TIL] Two Pages Per Day

목록 보기
98/107
post-thumbnail

Chapter 9. Web Robots

(해석 또는 이해가 잘못된 부분이 있다면 댓글로 편하게 알려주세요.)


✏️ 원문 번역


HTML Robot-Control META Tags

The robots.txt file allows a site administrator to exclude robots from some or all of a web site. One of the disadvantages of the robots.txt file is that it is owned by the web site administrator, not the author of the individual content.

  • robots.txt 파일은 시스템 관리자가 로봇으로부터 전체 혹은 일부 웹 사이트의 접근을 차단할 수 있게 합니다.

  • robots.txt 파일의 한 가지 단점은 개별적인 콘텐츠 저자가 아닌 웹 사이트 관리자가 소유하고 있다는 점입니다.

HTML page authors have a more direct way of restricting robots from individual pages. They can add robot-control tags to the HTML documents directly. Robots that adhere to the robot-control HTML tags will still be able to fetch the documents, but if a robot exclusion tag is present, they will disregard the documents. For example, an Internet search-engine robot would not include the document in its search index. As with the robots.txt standard, participation is encouraged but not enforced.

  • HTML 페이지 저자는 개별 페이지에 대한 로봇의 접근 권한 제한하는 더 직접적인 방법을 사용할 수 있습니다.

  • 바로 HTML 문서에 robot-control 태그를 직접 추가하는 것입니다.

  • robot-control HTML 태그를 준수하는 로봇도 여전히 문서를 불러올 수 있지만 로봇 차단 태그가 있는 경우 문서를 무시합니다.

  • 예를 들어 인터넷 검색엔진 로봇은 검색 인덱스에 해당 문서를 포함하지 않을 것입니다.

  • robots.txt 표준과 마찬가지로 참여를 권장하지만 강제되지는 않습니다.

Robot exclusion tags are implemented using HTML META tags, using the form:

<META NAME="ROBOTS" CONTENT=directive-list>
  • 로봇 차단 태그는 HTML META 태그를 통해 위와 같은 형태로 구현됩니다.

Robot META Directives

There are several types of robot META directives, and new directives are likely to be added over time and as search engines and their robots expand their activities and feature sets. The two most-often-used robot META directives are:

  • 로봇 META 지시문에는 여러 유형이 있으며 시간이 흐름에 따라 새로운 지시문이 등장할 가능성이 있습니다.

  • 검색엔진과 그 로봇들이 활동 영역과 기능 집합을 확장하기 때문입니다.

  • 가장 흔히 사용되는 로봇 META 지시문 두 가지를 소개합니다.

NOINDEX

Tells a robot not to process the page’s content and to disregard the document(i.e., not include the content in any index or database).

<META NAME="ROBOTS" CONTENT="NOINDEX">

NOINDEX

  • 로봇이 페이지의 콘텐츠를 처리하지 않고 문서를 무시해야 함을 의미합니다.

  • 즉 인덱스나 데이터베이스에 콘텐츠를 포함하지 않습니다.

NOFOLLOW

Tells a robot not to crawl any outgoing links from the page.

<META NAME="ROBOTS" CONTENT="NOFOLLOW">

NOFOLLOW

  • 로봇이 페이지로부터 연결된 링크를 크롤링해서는 안 됨을 의미합니다.

In addition to NOINDEX and NOFOLLOW, there are the opposite INDEX and FOLLOW directives, the NOARCHIVE directive, and the ALL and NONE directives. These robot META tag directives are summarized as follows:

  • NOINDEX, NOFOLLOW와 더불어 그와 반대되는 INDEX 및 FOLLOW 지시문도 있습니다.

  • NOARCHIVE 지시문과 ALL, NONE 지시문도 있습니다.

  • 나머지 로봇 META 태그 지시문은 다음과 같이 설명할 수 있습니다.

INDEX
Tells a robot that it may index the contents of the page.

FOLLOW
Tells a robot that it may crawl any outgoing links in the page.

NOARCHIVE
Tells a robot that it should not cache a local copy of the page.

ALL
Equivalent to INDEX, FOLLOW.

NONE
Equivalent to NOINDEX, NOFOLLOW.

INDEX

  • 로봇이 페이지의 콘텐츠를 인덱싱할 수 있음을 의미합니다.

FOLLOW

  • 로봇이 페이지와 연결된 링크를 크롤링할 수 있음을 의미합니다.

NOARCHIVE

  • 로봇이 페이지의 로컬 사본을 캐싱할 수 없음을 의미합니다.

ALL

  • INDEX, FOLLOW와 동일합니다.

NONE

  • NOINDEX, NOFOLLOW와 동일합니다.

The robot META tags, like all HTML META tags, must appear in the HEAD section
of an HTML page:

<html>
<head>
	<meta name="robots" content="noindex,nofollow">
	<title>...</title>
</head>
<body>
...
</body>
</html>

Note that the “robots” name of the tag and the content are case-insensitive.

  • 로봇 META 태그는 다른 모든 HTML META 태그와 동일하게 HTML의 HEAD 섹션에 기재해야 합니다.

  • 태그에 적힌 로봇의 이름은 대소문자 구분이 없다는 점에 유의합니다.

You obviously should not specify conflicting or repeating directives, such as:

<meta name="robots" content="INDEX,NOINDEX,NOFOLLOW,FOLLOW,FOLLOW">

the behavior of which likely is undefined and certainly will vary from robot implementation to robot implementation.

  • 또한 충돌이 발생하거나 반복적인 지시문이 들어가지 않아야 합니다.

  • 이와 같은 행동은 로봇에 따라 정의되지 않았거나 구현 사양이 다를 수 있습니다.


Search Engine META Tags

We just discussed robots META tags, used to control the crawling and indexing activity of web robots. All robots META tags contain the name="robots" attribute.

  • 지금까지 웹 로봇의 크롤링과 인덱싱 활동을 제어하는 로봇 META 태그에 대해 다루었습니다.

  • 모든 로봇 META 태그는 name="robots" 속성을 가지고 있습니다.

Many other types of META tags are available, including those shown in Table 9-5. The DESCRIPTION and KEYWORDS META tags are useful for content-indexing search-engine robots.

  • Table 9-5에 나타난 예시를 포함하여 다양한 유형의 META 태그가 이용 가능합니다.

  • DESCRIPTION과 KEYWORDS META 태그는 콘텐츠 인덱싱 검색엔진 로봇에 대해 유용하게 사용됩니다.


✏️ 요약


HTML Robot-Control META Tags

: HTML 페이지 저자가 개별 페이지에 대한 로봇의 접근 권한을 제어하는 방법

  • robots.txt의 한계 : 웹사이트 관리자에게 제어 권한이 있음 -> 페이지 저자가 로봇의 접근을 막을 방법이 없음
  • 해결 방안 : 페이지 저자가 HTML HEAD 섹션에 직접 robot-control META 태그를 작성함

Directives

  • NOINDEX : 로봇이 페이지의 콘텐츠를 처리하지 않고 문서 무시
  • NOFOLLOW : 로봇이 페이지로부터 연결된 링크 크롤링 X
  • INDEX : 로봇이 페이지의 콘텐츠를 인덱싱할 수 있음
  • FOLLOW : 로봇이 페이지로부터 연결된 링크 크롤링 O
  • NOARCHIVE : 로봇이 페이지의 로컬 사본을 캐싱할 수 없음
  • ALL : INDEX + FOLLOW
  • NONE : NOINDEX + NOFOLLOW

Search Engine META Tags

  • DESCRIPTION : 웹 페이지에 대한 짧은 설명 정의
  • KEYWORDS : 웹 페이지를 설명하는 단어의 집합, 콤마로 구분 (키워드 검색에서 활용)
  • REVISIT-AFTER : 로봇이나 검색 엔진에게 페이지를 재방문해야 함을 알리는 태그

✏️ 감상


robots.txt와 META 태그 중 우선순위가 더 높은 것

앞서 두 가지 방식을 살펴보았다. 하나는 웹사이트 관리자가 검색엔진 크롤러를 제어하는 기법, 다른 하나는 HTML의 저자가 제어하는 기법이다. 저작권 및 지적재산권이 중요한 오늘날, 저자의 의견이 더 중요하지 않을까 생각했다. 하지만 실제 동작은 내가 생각한 우선순위와 반대로 이루어지고 있었다.

로봇은 기본적으로 robots.txt를 통해 fetch 여부를 결정하지 META 태그를 먼저 확인해보지는 않는다. 만약 robots.txt에서 특정 HTML이 차단되어 있다면 META 태그에 아무리 ALL을 적어놔도 크롤러는 문서에 접근할 수 없다.

robots.txt가 특정 HTML에 대한 접근을 막지 않는다면 로봇이 페이지를 방문할 수는 있으나 META 태그의 방침에 따라 콘텐츠를 처리하거나 처리하지 않는다. META는 크롤링 자체를 막는 도구라기보다 문서와 콘텐츠의 인덱싱 여부를 결정하려는 성격이 강하다.

profile
맑은 눈의 다람쥐

0개의 댓글

관련 채용 정보