Thief of Wealth

필요하다고 생각되는 부분만 정리

 

9.4.2 웹 사이트와 robots.txt 파일들

웹 사이트의 어떤 url을 방문하기 전에, 그 웹 사이트에 robots.txt 파일이 존재한다면 로봇은 반드시 그 파일을 가져와서 처리해야한다.

사이트 전체에 대한 robots.txt는 단 하나만이 존재한다.

 

로봇은 HTTP GET 메서드를 통해서 robots.txt를 가져온다.

 

많은 웹사이트가 robots.txt를 갖고 있지 않지만, 로봇은 그래도 찾아보는게 의무이다.

- 서버가 200으로 응답

로봇은 반드시 그 응답의 컨텐츠를 파싱하여 차단 규칙을 얻고, 그 사이트에서 무언가를 가져오려고 할때 그 규칙에 따라야한다.

 

- 서버가 404으로 응답

만약 리소스가 존재하지 않는다고 서버가 응답하면 로봇은 활성화된 차단 규칙이 존재하지 않는다고 가정하고 robots.txt의 제약없이 사이트에 접근한다.

 

- 서버가 401, 403응답

로봇은 그 사이트로의 접근은 완전히 제한되어있다고 가정해야한다.

 

- 서버가 503응답

로봇은 그 사이트의 리소스를 검새갛는 것은 뒤로 미루어야한다.

 

- 서버가 3XX응답

로봇은 리소스가 발견될때까지 리다이렉트를 따라가야한다.

 

 

9.4.3 robots.txt 파일 포맷

robots.txt 파일의 각 줄은 빈줄, 주석줄, 규칙줄의 3가지 종류가있다.

각 레코드는 규칙 줄들의 집합으로 되어있으며 빈 줄이나 파일 끝 문자로 끝난다.

하나 이상의 User-Agent 줄로 시작하며 뒤이에 이 로봇들이 접근할 수 있는 URL들을 말해주는 Allow, Disallow 줄이온다.

 

- User-Agent

각 로봇의 레코드는 하나 이상의 User-Agent 줄로 시작하며 형식은 다음과 같다.

User-Agent: <robot-name>

혹은 User-Agent: *

 

둘다 없다면 접근에 어떤 제한도 없는것이다.

또한 네이밍도 주의해야하는데, User-Agent: bot는 Bot, Robot, Bottom-Feeder, Dont-Bother-Me 등등에 모두 매치된다.

 

- Disallow, Allow

Disallow, Allow 줄은 User-Agent 줄을 바로 다음에 옴.

로봇은 순서대로 검색해보고 첫번째로 맞은 것이 사용됨.

어떤 것도 맞지 않으면 허용한것으로 간주

 

규칙경로는 반드시 그 맞춰보고자하는 경로의 대소문자를 구분하는 접두어여야 한다.

 

9.4.5 robots.txt의 캐싱과 만료

robots.txt는 캐시를 하지 않으면 부하가 2배로 늘어날것이기 때문에 캐싱이 필요하다.

 

 

 

profile on loading

Loading...