티스토리 뷰
robots.txt ?
web 서버를 뒤적이다가 robots.txt란 파일을 발견했다.
파일을 열어보니 별 내용이 없었는데
User-agent: *
Disallow: /
이런식으로 단 두줄만 작성되어 있었다.
대체 무슨 의미일까?
로봇 배제 표준(robots exclusion standard), 로봇 배제 프로토콜(robots exclusion protocol)은 웹 사이트에 로봇이 접근하는 것을 방지하기 위한 규약으로, 일반적으로 접근 제한에 대한 설명을 robots.txt에 기술한다.
이 규약은 1994년 6월에 처음 만들어졌고, 아직 이 규약에 대한 RFC는 없다.
이 규약은 권고안이며, 로봇이 robots.txt 파일을 읽고 접근을 중지하는 것을 목적으로 한다. 따라서, 접근 방지 설정을 하였다고 해도, 다른 사람들이 그 파일에 접근할 수 있다. robots.txt 파일은 항상 사이트의 루트 디렉토리에 위치해야 한다.
위키백과에는 위와 같이 설명되어 있다.
정리하면, 포털 사이트에서는 검색 엔진을 위한 bot들이 존재한다.
이 bot들을 검색 엔진 크롤러라고 부르는데, robots.txt 파일은 검색 엔진 크롤러에게 웹 사이트에서 크롤링하거나 색인을 생성해서는 안 되는 페이지를 알려주는 역할을 한다.
작성법
작성법은 단순하다. User-agent / Disallow / Allow 세가지로 구성된다.
User-agent: *
Disallow: /
우리 서버의 robots.txt를 분석해보면,
와일드카드(*)는 일반적으로 모든 대상이다. 모든 대상에 대해 루트 디렉토리(/)의 접근을 막는다.
= 우리 웹사이트는 모든 검색엔진 크롤러의 접근을 막는다.를 의미한다.
모든 크롤러를 허용하려면 간단하게 변경할 수 있다.
User-agent: *
Allow: /
이렇게 작성하면, 내가 작성한 웹사이트에 모든 웹 크롤러들이 들어올 수 있다.
User-agent는 특정 크롤러를 차단하는 역할을 하고,
Allow/Disallow 명령어로 특정 페이지만 허용/차단 할 수 있다.
User-agent: Googlebot
Disallow: /
Allow: /$
위와 같이 작성하면, Googlebot이 모든 페이지에 대한 크롤링을 차단하지만, 첫 페이지에 대해서는 허가하는 명령어다.
주의할 점은 반드시 폴더명 맨 끝에 /를 붙여야 한다.
붙이지 않으면 확장자가 없는 파일로 인식하기 때문에 제대로 작동하지 않는다.
위와 같이 작성해 루트 디렉토리 아래에 놓아두면, 크롤러의 진입을 막아준다.
웹 크롤러의 종류
대표적인 검색 엔진을 기준 (출처 : 나무위키)
이름 | User-Agent |
Googlebot | |
Google image | Googlebot-image |
Msn | MSNBot |
Naver | Yeti |
Daum | Daumoa |
'개발 > 개념공부' 카테고리의 다른 글
WSL/WSL2에 Go(Golang) 설치하기 (1) | 2024.01.11 |
---|---|
난 REST API를 쓰고있는가? (Feat. HTTP API) (0) | 2023.03.05 |
암호화와 Key 변환 문제 (0) | 2023.01.26 |
개인정보와 암호화(단방향, 양방향 암호화) 정리 (0) | 2023.01.25 |
객체 디자인 패턴, DAO & DTO & VO (0) | 2023.01.20 |
- Total
- Today
- Yesterday
- CloudFront
- 람다
- OpenAI
- 오블완
- S3
- Log
- AWS
- Elastic cloud
- EKS
- ChatGPT
- AWS EC2
- JWT
- terraform
- java
- elasticsearch
- springboot
- serverless
- Kotlin
- cache
- GIT
- MySQL
- 티스토리챌린지
- 후쿠오카
- openAI API
- OpenFeign
- AOP
- lambda
- Spring
- docker
- 스프링부트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |