본문 바로가기

개발

웹 로봇, 스파이더, 크롤러 robot.txt

웹 로봇은 자동으로 웹 사이트를 탐색하며 정보를 가져와서 처리한다.

로봇은 웹 사이트를 방문하고 그 안에 있는 링크를 수집하면서 데이터 베이스 엔진에 정보를 

추가한다. 이 로봇은 하는 역할에 따라 웹 로봇, 스파이더, 크롤러로 불리게 된다. 


로봇은 웹 사이트에서 부적절 하게 동작할수 있는데 사람보다 빠르게 http 요청을 만들 수 있고, 

오류를 가지고 있거나 논리적 결함이 있는 로봇이라면 웹 서버에 극심한 부하를 줄 수 있다. 

또 웹 사이트가 바뀌어서 로봇이 존재하지 않는 URL에 대한 요청을 보내면 존재하지 않는 접근 

요청과 에러 페이지를 제공하는 부하로 웹 사이트 기능이 떨어 질수 있다. 


이러한 이유로 로봇의 동작을 더 잘 제어할 수 있는 메커니즘을 제공하는 단순하고 자발적인 기법이 

제안되었다. 이 기법은 "Robots Exclusion standard"라고 불려지지만 파일이름을 따서 

robot.txt라고도 불리기도 한다.

웹 서버는 문서 루트에 robot.txt라고 이름 붙은 파일을 제공할 수 있다. 

로봇이 표준을 따른다면 robot.txt를 요청하고 그것에 따른다. 


만약 웹 사이트에서 robot.txt를 제공하지 않는다면 검색엔진이 사이트에 접근하고 크롤링 할 수 있는 

부분을 알려주는데 사용된다. 그러면 사이트의 특정 페이지가 검색 엔진의 검색 결과에 노출되서 

보안에 취약하기 때문에 robot.txt를 제공해서 크롤링 할 수 없게 만들어줘야한다. 


로봇이 웹 사이트에서 get을 이용해 robot.txt를 가져오는데 robot.txt가 존재 하면 서버는 그 

파일을 text/plain으로 반환한다. 404가 발생하면 접근을 제한 하지 않는 것으로 간주하고 어떤 

파일이든 요청한다. 

robot.txt 형식
User-agent:*

 

disallow:/