-
웹 크롤러는
______
으로 반복하는 방식으로 웹을 순회하는 로봇이다. -
아래 그림의 웹을 순회하려는 크롤러가 있다. 이 크롤러의 루트집합에 어떤 페이지를 포함시키면 좋을까?
-
크롤러가 웹 페이지에서 절대링크를 발견한 경우 상대링크로 변환할 필요가 있다. (O / X)
-
순환은 크롤러에게 필수적이다 (O / X)
📄 답지
-
웹 크롤러는
______
으로 반복하는 방식으로 웹을 순회하는 로봇이다.정답 : 재귀적으로
웹 크롤러는
- 먼저 웹페이지를 한 개 가져오고,
- 그 다음 그 페이지가 가리키는 모든 웹페이지를 가져오고,
- 다시 그 페이지를 가리키는 모든 웹페이지들을 가져온다.
-
아래 그림의 웹을 순회하려는 크롤러가 있다. 이 크롤러의 루트집합에 어떤 페이지를 포함시키면 좋을까?
정답 : A, G, S
루트 집합 (root set) 이란?
크롤러가 방문을 시작하는 URL들의 초기 집합.
루트 집합을 고를때, 모든 링크를 크롤링하면서 관심있는 웹페이지들을 많이 가져올 수 있도록, URL들을 선택해야한다
-
크롤러가 웹 페이지에서 절대링크를 발견한 경우 상대링크로 변환할 필요가 있다. (O / X)
정답 : X
- 크롤러는
- 검색한 각 페이지 안에 들어있는 URL 링크들을 파싱해서
- 크롤링할 페이지들의 목록에 추가해야한다.
- 크롤러가 크롤링을 진행하면서 탐색해야 할 새 링크를 발견함에 따라 => 이 목록은 보통 급속히 확장된다.
- 상대 링크를 발견할 경우 절대 링크로 변활할 필요가 있다.
- 크롤러는
-
순환은 크롤러에게 필수적이다 (O / X) 정답 : X
순한은 크롤러에게 해롭다. 아래는 순환이 해로운 이유 3가지.
- 같은 페이지들을 반복해서 가져오는데 모든 시간을 허비하게 만들 수 있다.
- 네트워크 대역폭을 다 차지하고 때문에 그 어떤 페이지도 가져올 수 없게 되어버릴 수 있다.
- 웹 서버에 부담이 된다.
- 크롤러의 네트워크 접근 속도가 빠르다면, 웹사이트를 압박하여 어떤 실제 사용자도 사이트에 접근할 수 없도록 막아버리게 될 수도 있다.
- 루프 자체가 문제가 되지 않더라도, 크롤러는 많은 수의 중복된 페이지들을 가져오게 된다.
- dups
- 크롤러의 어플리케이션은 자신을 쓸모없게 만드는 중복된 콘텐츠로 넘쳐나게 될 것이다.
- 같은 페이지들을 반복해서 가져오는데 모든 시간을 허비하게 만들 수 있다.
1번
크롤링에서 어떤 URL을 방문했는지 판단하기 위해서는 복잡한 (____)를 사용할 필요가 있다.
2번
대규모 웹 크롤러가 방문한 URL을 관리하기 위해 사용되는 방법중에 하나인
느슨한 존재 비트맵은 URL간 충돌이 일어날 수 있다. 그 이유에 대해 서술하세요.
3번
대부분의 웹 로봇은 URL들을 표준형식으로 정규화함으로써 같은 리소스를 가리키는 다른 URL을 미리 제거하려한다. 해당하는 정규화방식을 고르세요.
- 포트번호가 없으면 :80을 추가
- 모든 %xx 이스케이핑문자를 대응되는 문자로 변환
- (이스케이핑이란 HTML코드를 화면상에 띄우기 위해 사용되는 코드.
<br/>
을 브라우저 상에 띄우려면<br />
, < == <, %gt = >으로 사용함)
- (이스케이핑이란 HTML코드를 화면상에 띄우기 위해 사용되는 코드.
- #태그제거
4번
웹 마스터인 daelee
는 악의를 품고 크롤러들에게 함정을 빠뜨리려고 한다.
- (___)링크를 이용해 로봇을 무한루프에 빠져들게 하려한다.
그래서 daelee
는 subdir
에다가 2(__)으로 향하는 링크를 걸고 사악한 웃음을 지어보였다.
/home ㅡ index.html(home의 하위)
ㅡ subdir(home의 하위)
5번
함정에 빠져버린 크롤러 설계자 hylee
는 화가나서 중복을 피할 기법을 도입했다.
다음 설명하는 기법의 명칭은?
- (_ _ _ _): 로봇이 웹 사이트에서 일정 시간동안 가져올 수 있는 페이지 숫자를 제한한다.
- (_ 발견) :(__)링크를 통한 순환과 그와 비슷한 오설정은 일정 패턴을 따르는 경향이 있어서, 반복되는 구성요소를 가진 URL의 크롤링을 거절한다.
📄 답지
1번
크롤링에서 어떤 URL을 방문했는지 판단하기 위해서는 복잡한 **(자료구조)**를 사용할 필요가 있다. -> URL은 굉장히 많기에 속도와 메모리사용에서 효과적인 자료구조를 사용해야한다.
2번
대규모 웹 크롤러가 방문한 URL을 관리하기 위해 사용되는 방법중에 하나인
느슨한 존재 비트맵은 URL간 충돌이 일어날 수 있다. 그 이유에 대해 서술하세요.
-> URL갯수는 잠재적으로 무한, 존재 비트는 유한하므로 같은 존재 비트에 두 URL이 매핑되어 충돌할 수 있다.
3번
대부분의 웹 로봇은 URL들을 표준형식으로 정규화함으로써 같은 리소스를 가리키는 다른 URL을 미리 제거하려한다. 해당하는 정규화방식을 고르세요.
- 포트번호가 없으면 :80을 추가
- 모든 %xx 이스케이핑문자를 대응되는 문자로 변환
(이스케이핑이란 HTML코드를 화면상에 띄우기 위해 사용됨
<br/>
을 브라우저 상에 띄우려면<br />
, < = <, %gt = >으로 사용함) - #태그제거
=> 1,2,3번
4번
웹 마스터인 daelee
는 악의를 품고 크롤러들에게 함정을 빠트리려고 한다.
- (심볼릭)링크를 이용해 로봇을 무한루프에 빠져들게 하려한다.
그래서 daelee
는 subdir
에다가 2(/home)으로 향하는 링크를 걸고 사악한 웃음을 지어보였다.
/home ㅡ index.html (home의 하위)
ㅡ subdir (home의 하위)
5번
함정에 빠져버린 크롤러 설계자 hylee
는 화가나서 중복을 피할 기법을 도입했다. 다음 설명하는 기법의 명칭은?
- (스로틀링): 로봇이 웹 사이트에서 일정 시간동안 가져올 수 있는 페이지 숫자를 제한한다.
- (패턴발견) :(심볼릭)링크를 통한 순환과 그와 비슷한 오설정은 일정 패턴을 따르는 경향이 있어서, 반복되는 구성요소를 가진 URL의 크롤링을 거절한다.
-
로봇은 다른 HTTP 클라이언트 프로그램처럼 HTTP 요청을 만들고 일부는 HTTP 요청 헤더를 사용한다. ( O / X )
-
많은 로봇들이 HTTP/1.0 요청을 보내는데 그 이유는 요구사항이 적은 HTTP/1.0를 사용해 HTTP를 최소한으로만 구현하기 위함이다. ( O / X )
-
로봇 구현자들은 잘못된 크롤러의 소유자를 찾아내거나 서버에게 로봇이 어떤 종류의 컨텐츠를 다룰 수 있는지에 대한 정보를 주기위해 사이트에 신원 식별 헤더를 전송하는 것이 좋다. 다음 보기의 기본적인 신원 식별 헤더들을 빈칸을 알맞게 채우세요.
보기
User-Agent
From
Accept
Referer
a.
_________
로봇의 사용자/관리자의 이메일 주소를 제공한다.b.
_________
현재의 요청 URL을 포함한 문서의 URL을 제공한다.c.
_________
서버에게 어떤 미디어 타입을 보내도 되는지 말해준다.d.
_________
서버에게 요청을 만든 로봇의 이름을 말해준다. -
다음 그림에서 로봇은 www.joes-hardware.com과 www.foo.com 두 개의 사이트를 운영하는 서버에 www.foo.com 페이지에 대한 요청을 보냈으나 조의 하드웨어 사이트에 대한 컨텐츠를 얻게 되었습니다. 로봇이 www.foo.com 페이지에 대한 컨텐츠를 얻을 수 있도록 로봇의 요청 메시지에 적절한 헤더를 추가하세요.
-
로봇 중 일부는
_________
요청을 통해 시간이나 엔터티 태그를 비교함으로써 오직 변경되었을 때만 컨텐츠를 가져오도록 하는데 이는 HTTP 캐시가 전에 받아온 리소스의 로컬 사본의 유효성을 검사하는 방법과 매우 비슷하다. -
로봇들은 최소한 일반적인 상태 코드를 이해해야하며 명시적으로 이해할 수 없는 상태 코드는 그 상태 코드가 속한 분류에 근거하여 다루어야 한다. ( O / X )
-
다음 보기에서 골라 상태 코드 분류 표 빈칸을 알맞게 채우세요.
보기
리다이렉션, 서버 에러, 성공, 클라이언트 에러, 정보
-
몇몇 서버는 에러를 기술하는 메시지도 304로 응답하기도 하며 이에 대해 뭔가 할 수 있는 일은 거의 없다. ( O / X )
-
아래 태그에 대해 옳은 것을 고르세요. (복수 응답 가능)
a. http-equiv 태그는 리소스에 대해 컨텐츠 저자가 포함시킨 정보다.
b. 위 태그는 수신자가 문서를 마치 그 문서의 HTTP 응답 값이 "1; URL=indexl.html"인 Refresh HTTP 헤더를 포함하고 있는 것처럼 다루게 한다.
c. 위 태그는 수신자가 문서를 마치 그 문서의 HTTP 응답 값이 "1; URL=indexl.html"인 Redirect HTTP 헤더를 포함하고 있는 것처럼 다루게 한다.
d. 위 태그는 마치 1초 후에 index.html로 리다이렉트하라는 의미의 헤더가 포함된 것과 같다.
e. 위 태그는 최우선적으로 index.html로 리다이렉트하라는 의미의 헤더가 포함된 것과 같다.
-
"당신의 브라우저는 프레임을 지원하지 않습니다(your browser does not support frames)"라는 문구에 대해 책과 다른 것을 고르세요. (복수 응답 가능)
a. 사이트가 브라우저의 종류를 감지하여 그에 맞게 컨텐츠를 최적화함으로써 로봇에게 제공되는 에러 페이지다.
b. 해당 문구는 웹브라우저가 아닌 로봇에게도 보여졌다.
c. 로봇이 사이트에 방문했다가 컨텐츠를 얻을 수 없는 일이 생기지 않도록 유연한 페이지를 개발하는 것이 좋다.
d. 로봇에게만 보여주는 에러 페이지 문구다.
📄 답지
-
로봇은 다른 HTTP 클라이언트 프로그램처럼 HTTP 요청을 만들고 일부는 HTTP 요청 헤더를 사용한다. ( O / X )
O
-
많은 로봇들이 HTTP/1.0 요청을 보내는데 그 이유는 요구사항이 적은 HTTP/1.0를 사용해 HTTP를 최소한으로만 구현하기 위함이다. ( O / X )
O
-
로봇 구현자들은 잘못된 크롤러의 소유자를 찾아내거나 서버에게 로봇이 어떤 종류의 컨텐츠를 다룰 수 있는지에 대한 정보를 주기위해 사이트에 신원 식별 헤더를 전송하는 것이 좋다. 다음 보기의 기본적인 신원 식별 헤더들을 빈칸을 알맞게 채우세요.
a.
From
로봇의 사용자/관의 이메일 주소를 제공한다.b.
Referer
현재의 요청 URL을 포함한 문서의 URL을 제공한다.c.
Accept
서버에게 어떤 미디어 타입을 보내도 되는지 말해준다.d.
User-Agent
서버에게 요청을 만든 로봇의 이름을 말해준다. -
다음 그림에서 로봇은 www.joes-hardware.com과 www.foo.com 두 개의 사이트를 운영하는 서버에 www.foo.com 페이지에 대한 요청을 보냈으나 조의 하드웨어 사이트에 대한 컨텐츠를 얻게 되었습니다. 로봇이 www.foo.com 페이지에 대한 컨텐츠를 얻을 수 있도록 로봇의 요청 메시지에 적절한 헤더를 추가하세요.
Host: www.foo.com
-
로봇 중 일부는
조건부
요청을 통해 시간이나 엔터티 태그를 비교함으로써 오직 변경되었을 때만 컨텐츠를 가져오도록 하는데 이는 HTTP 캐시가 전에 받아온 리소스의 로컬 사본의 유효성을 검사하는 방법과 매우 비슷하다.조건부 p.261
-
로봇들은 최소한 일반적인 상태 코드를 이해해야하며 명시적으로 이해할 수 없는 상태 코드는 그 상태 코드가 속한 분류에 근거하여 다루어야 한다.
O p.262
-
다음 보기에서 골라 상태 코드 분류 표 빈칸을 알맞게 채우세요.
-
몇몇 서버는 에러를 기술하는 메시지도 304로 응답하기도 하며 이에 대해 뭔가 할 수 있는 일은 거의 없다.
X 몇몇 서버는 에러를 기술하는 메시지를 200 Ok로 응답하기도 한다. p.262
-
아래 태그에 대해 옳은 것을 고르세요. (복수 응답 가능)
a, b, d p.262
수신자가 Refresh HTTP 헤더를 포함하고 있는 것처럼 다루게하며 "1; URL=index.html"은 1초 후에 index.html로 리다이렉트하라는 의미다.
a. http-equiv 태그는 리소스에 대해 컨텐츠 저자가 포함시킨 정보다.
b. 위 태그는 수신자가 문서를 마치 그 문서의 HTTP 응답 값이 "1; URL=indexl.html"인 Refresh HTTP 헤더를 포함하고 있는 것처럼 다루게 한다.
c. 위 태그는 수신자가 문서를 마치 그 문서의 HTTP 응답 값이 "1; URL=indexl.html"인 Redirect HTTP 헤더를 포함하고 있는 것처럼 다루게 한다.
d. 위 태그는 마치 1초 후에 index.html로 리다이렉트하라는 의미의 헤더가 포함된 것과 같다.
e. 위 태그는 최우선적으로 index.html로 리다이렉트하라는 의미의 헤더가 포함된 것과 같다.
-
"당신의 브라우저는 프레임을 지원하지 않습니다(your browser does not support frames)"라는 문구에 대해 책과 다른 것을 고르세요. (복수 응답 가능)
d p.263 브라우저에게 보여지는 에러 문구로 로봇에게 보여질 경우 로봇이 해당 페이지에 대한 정보를 수집하지 못하는 문제가 생길 수 있다.
브라우저의 종류를 감지해 최적화한 컨텐츠를 보여주기 위한 기능으로 브라우저에게 보여지는 에러 문구다. 하지만 로봇에게도 보여지는 경우가 있어 해당 페이지의 컨텐츠를 얻지 못 하는 문제점이 있다.
a. 사이트가 브라우저의 종류를 감지하여 그에 맞게 컨텐츠를 최적화함으로써 로봇에게 제공되는 에러 페이지다.
b. 해당 문구는 웹브라우저가 아닌 로봇에게도 보여졌다.
c. 로봇이 사이트에 방문했다가 컨텐츠를 얻을 수 없는 일이 생기지 않도록 유연한 페이지를 개발하는 것이 좋다.
d. 로봇에게만 보여주는 에러 페이지 문구다.
보기) 폭주하는 로봇
, 오래된 URL
, 길고 잘못된 URL
, 호기심이 지나친 로봇
,동적 게이트웨이 접근
-
태혁이가 만든 웹 로봇
건희
는 웹 서버들을 서핑하며 자료를 수집한다. 어느날 로봇건희
는 순환에 빠지도록 설계된 사이트에 방문하게 된다. 아쉽게도 태혁이는 HTTP 스터디를 하지 못해서건희
가 스스로 순환에서 빠져나오는 코드를 짜지 못했다.건희
는 결국 해당 사이트에 미친듯이 방문했고 서버에 엄청난 과부하를 주었다. 여기서건희
는 어떤 로봇인가? -
태혁이가 만든 웹 로봇
현준
이는 사이트에서 명시적으로 링크하지 않은 문서도 전부 수집한다. 오늘은 세초가 만든 서버에 로봇현준
이가 방문했다. 세초는 누구에게도 보여주고 싶지 않은 사진을 서버에 두고 아무데도 명시적으로 링크를 걸지 않았는데현준
이가 수집해버렸다. 심지어 그 사진에는 세초를 사랑하는 사람의 눈빛이 담겨있었다. 여기서현준
이는 어떤 로봇인가?
📄 답지
-
건희
는폭주하는 로봇
이다. -
현준
이는호기심이 지나친 로봇
이다.
###############################
#안녕하세요 여기는 태혁이의 사이트입니다.
###############################
User-Agent: Jehong-Spider
Allow: /
User-Agent: Secho-Spider
Disallow: /private/photo
Disallow: /yauridu
위 예시를 보고 각각의 웹 로봇의 접근권한에 O/X를 표시하세요
URL | Jehong-Spider | Secho-Spider | Hylee-Spider | |
---|---|---|---|---|
1 | http://www.pleaseopenthecluster.com/ | O | O | (f) |
2 | http://www.pleaseopenthecluster.com/private | O | (c) | (g) |
3 | http://www.pleaseopenthecluster.com/private/photo | (a) | (d) | (h) |
4 | http://www.pleaseopenthecluster.com/yauridu | (b) | (e) | (i) |
📄 답지
리소스보다 robot.txt를 먼저 요청해서 권한을 확인한다.
한 호스트의 포트당 한개의 robot.txt가 있다.
웹 로봇의 차단 규칙을 담고 있는 robot.txt파일이 없으므로 해당 사이트를 수집해도 된다.
###############################
#안녕하세요 여기는 태혁이의 사이트입니다.
###############################
User-Agent: Jehong-Spider
Allow: /
User-Agent: Secho-Spider
Disallow: /private/photo
Disallow: /yauridu
위 예시를 보고 각각의 웹 로봇의 접근권한에 O/X를 표시하세요
URL | Jehong-Spider | Secho-Spider | Hylee-Spider | |
---|---|---|---|---|
1 | http://www.pleaseopenthecluster.com/ | O | O | O |
2 | http://www.pleaseopenthecluster.com/private | O | O | O |
3 | http://www.pleaseopenthecluster.com/private/photo | O | X | O |
4 | http://www.pleaseopenthecluster.com/yauridu | O | X | O |
Hylee-Spider가 걸리는 user-agent 조건이 없으므로 이경우에는 모든 권한이 생긴다.(269p 중간)
noindex: 현재 페이지 수집 금지
nofollow : 현재 페이지가 링크한 페이지들 수집금지
- 신원식별
- 로봇의 신원: HTTP
_________
필드를 사용해서 웹 서버에게 로봇 이름을 말하라.
로봇이 무엇을 하는지 이해를 돕기 위한 것으로, 로봇의 목적과 정책을 기술한 URL을 포함시키기도 한다. - 기계의 신원: 웹 사이트가 로봇의 IP 주소를 호스트 명을 통해
______
할 수 있도록 하라.
이 로봇에 대해 책임이 있는 조직을 찾을 수 있도록. - 연락처: HTTP 폼 필드를 사용해서 연락 가능한
______
를 제공하라.
- 동작
- 로봇이 노련해질때까지 365일 감시하라
- 대역폭 소비를 감시하고 조직에 로봇의 활동을 알려라.
- 로깅을 철저히 하라
- 매번 조정하고 개선하라
- 스스로를 제한하라
- URL을 필터링하여 관심없는 데이터를 걸러라.
(예:.Z, .gz, .tar, .zip
등 압축파일이나 아카이브,.exe
같은 실행프로그램, 이미지 파일 등) ______
나____
를 포함하는 동적 URL을 필터링 해라- Accept 관련 헤더로 서버에게 어떤 콘텐츠를 이해할 수 있는지 알려라.
- robots.txt를 따르라
- 로봇이 특정 사이트에 너무 자주(수 초에 한번 이상) 접근하면 어떤 문제가 생길까요❓
- 로봇이 의도치 않은 루프에 빠지지 않게 하려면 어떻게 해야 할까요❓
- 루프와 중복을 견뎌내기, 그리고 그 외의 문제들
- 모든 응답 코드 다루기
- URL 정규화 하기
- 적극적으로 순환 피하기
- 함정 감시하기
- 블랙리스트 관리하기
- 확장성
- 풀고 있는 문제가 얼마나 큰지 미리 계산하라. 웹은 거대하다.
- 네트워크 대역폭의 실제 사용량을 측정하여 최적화에 반영하라.
- 얼마나 많은 시간이 필요한지 이해하고, 실제 소요된 시간과 추정의 차이를 확인하라.
- 대규모 크롤링의 경우 하드웨어, 프로세서 분할을 이해하고 사용하라.
- 신뢰성
- 철저한 테스트로 성능과 예상 메모리 사용량을 확인하라
- 실패가 발생한 지점에서 재시작 가능하도록
_______/______
기능을 미리 설계하라. - 실패해도 계속 동작할 수 있도록 설계하라
- 소통
- 미리미리 문의(항의)에 응답할 수 있도록 준비해두라.
- 이해도가 다양한 사람들이 항의할 수 있으므로, 설득할 생각 말고 로봇 차단 규칙 표준을 설명하고,
경우에 따라 크롤러에서 제거하고 블랙리스트에 추가할 수 있도록 하라. - 즉각 대응하라.
📄 답지
- 신원식별
- 로봇의 신원: HTTP
User-Agent
필드를 사용해서 웹 서버에게 로봇 이름을 말하라.
로봇이 무엇을 하는지 이해를 돕기 위한 것으로, 로봇의 목적과 정책을 기술한 URL을 포함시키기도 한다. - 기계의 신원: 웹 사이트가 로봇의 IP 주소를 호스트 명을 통해
역방향 DNS
할 수 있도록 하라.
이 로봇에 대해 책임이 있는 조직을 찾을 수 있도록. - 연락처: HTTP 폼 필드를 사용해서 연락 가능한
이메일 주소
를 제공하라.
- 동작
- 로봇이 노련해질때까지 365일 감시하라
- 대역폭 소비를 감시하고 조직에 로봇의 활동을 알려라.
- 로깅을 철저히 하라
- 매번 조정하고 개선하라
- 스스로를 제한하라
- URL을 필터링하여 관심없는 데이터를 걸러라.
(예:.Z, .gz, .tar, .zip
등 압축파일이나 아카이브,.exe
같은 실행프로그램, 이미지 파일 등) cgi
나?
를 포함하는 동적 URL을 필터링 해라- Accept 관련 헤더로 서버에게 어떤 콘텐츠를 이해할 수 있는지 알려라.
- robots.txt를 따르라
- 로봇이 특정 사이트에 너무 자주(수 초에 한번 이상) 접근하면 어떤 문제가 생길까요❓ 트래픽을 다 막아서 사이트 주인이 항의를 할 수 있음.
- 로봇이 의도치 않은 루프에 빠지지 않게 하려면 어떻게 해야 할까요❓ 한 사이트에 대한 총 접근 횟수를 제한해야한다.
- 루프와 중복을 견뎌내기, 그리고 그 외의 문제들
- 모든 응답 코드 다루기
- URL 정규화 하기
- 적극적으로 순환 피하기
- 함정 감시하기
- 블랙리스트 관리하기
- 확장성
- 풀고 있는 문제가 얼마나 큰지 미리 계산하라. 웹은 거대하다.
- 네트워크 대역폭의 실제 사용량을 측정하여 최적화에 반영하라.
- 얼마나 많은 시간이 필요한지 이해하고, 실제 소요된 시간과 추정의 차이를 확인하라.
- 대규모 크롤링의 경우 하드웨어, 프로세서 분할을 이해하고 사용하라.
- 신뢰성
- 철저한 테스트로 성능과 예상 메모리 사용량을 확인하라
- 실패가 발생한 지점에서 재시작 가능하도록
체크포인트/재시작
기능을 미리 설계하라. - 실패해도 계속 동작할 수 있도록 설계하라
- 소통
- 미리미리 문의(항의)에 응답할 수 있도록 준비해두라.
- 이해도가 다양한 사람들이 항의할 수 있으므로, 설득할 생각 말고 로봇 차단 규칙 표준을 설명하고,
경우에 따라 크롤러에서 제거하고 블랙리스트에 추가할 수 있도록 하라. - 즉각 대응하라.
현재의 검색엔진에서 제공하는 웹 페이지의 양은 어마어마하다.
0.5초 * 십억개 / ((60초 / 일) * (60분 / 시간) * (24시간 / 일)) = 5700일이 걸린다.
이런 요청들을 병렬적 / 선형적
으로 수행해야 하는 것은 명백하다.
- 사용자가
질의
를 보냄 -게이트웨이
를 거쳐서 --->풀 텍스트 색인
<---크롤러
가 수집한 웹 페이지들을 보냄
풀 텍스트 색인은 단어 하나를 입력받아 그 단어를 포함하고 있는 문서를 즉각 알려줄 수 있는 데이터베이스다.
이 문서들은 단어에 대한 색인을 생성시키므로, 색인 생성 이후에는 문서별 포함 단어 검색의 처리 속도를 단축할 수 있다❓ (O ------- X)
- 사용자가 질의를 웹 검색엔진 게이트웨이로 보내는 방법은, HTTP
_____
이나______
요청을 이용해서 게이트웨이로 보내는 식이다.
관련도 랭킹(relevancy ranking)은 검색엔진 검색 결과의 순위를 매기기 위한 과정으로,
검색엔진은 각 결과가 어떤 알고리즘에 의해 설정되는지 정돈된 명세로 공개할 의무가 있다❓ (O ------- X)
스푸핑은 무엇일까요❓ 스푸핑의 간단한 예를 말해보세요❓
📄 답지
현재의 검색엔진에서 제공하는 웹 페이지의 양은 어마어마하다.
0.5초 * 십억개 / ((60초 / 일) * (60분 / 시간) * (24시간 / 일)) = 5700일이 걸린다.
이런 요청들을 병렬적
으로 수행해야 하는 것은 명백하다.
- 사용자가
질의
를 보냄 -게이트웨이
->풀 텍스트 색인
<-크롤러
가 수집한 웹 페이지들을 보냄
풀 텍스트 색인은 단어 하나를 입력받아 그 단어를 포함하고 있는 문서를 즉각 알려줄 수 있는 데이터베이스다.
이 문서들은 단어에 대한 색인을 생성시키므로, 색인 생성 이후에는 문서별 포함 단어 검색의 처리 속도를 단축할 수 있다❓ (X)
- 색인 생성 후에는 단어별로 이미 색인이 생성된 것이므로 다시 검색을 할 필요는 없다. 281p
- 사용자가 질의를 웹 검색엔진 게이트웨이로 보내는 방법은, HTTP
GET
이나POST
요청을 이용해서 게이트웨이로 보내는 식이다.
관련도 랭킹(relevancy ranking)은 검색엔진 검색 결과의 순위를 매기기 위한 과정으로,
검색엔진은 각 결과가 어떤 알고리즘에 의해 설정되는지 정돈된 명세로 공개할 의무가 있다❓ (X)
- 가장 엄격하게 감춰진 비밀들이라고 한다.
스푸핑은 무엇일까요❓ 스푸핑의 간단한 예를 말해보세요❓
- 위키백과 스푸핑
- 스푸핑은 속임을 통한 공격을 총칭한다. 본 책에서는 수많은 키워드만 나열한 가짜 페이지나, 특정 단어에 대한 가짜 페이지를 생성하는 게이트웨이 애플리케이션 등을 예로 들고 있다.