[Heritrix/crawler-beans.cxml]FETCH CHAIN-fetchHttp
212.Heritrix_설정파일/05. PROCESSING CHAINS 2016. 8. 1. 15:16FetchHttp
- http 통신에 관한 모든 설정을 관장하는 프로세서
Apache Jakarta Commons HttpClient 라이브러리를 사용 : http://jakarta.apache.org/commons/httpclient/
기존 설정 값
<bean id="fetchHttp" class="org.archive.modules.fetcher.FetchHTTP">
<!-- <property name="useHTTP11" value="false" /> -->
<!-- <property name="maxLengthBytes" value="0" /> -->
<!-- <property name="timeoutSeconds" value="1200" /> -->
<!-- <property name="maxFetchKBSec" value="0" /> -->
<!-- <property name="defaultEncoding" value="ISO-8859-1" /> -->
<!-- <property name="shouldFetchBodyRule">
<bean class="org.archive.modules.deciderules.AcceptDecideRule"/>
</property> -->
<!-- <property name="soTimeoutMs" value="20000" /> -->
<!-- <property name="sendIfModifiedSince" value="true" /> -->
<!-- <property name="sendIfNoneMatch" value="true" /> -->
<!-- <property name="sendConnectionClose" value="true" /> -->
<!-- <property name="sendReferer" value="true" /> -->
<!-- <property name="sendRange" value="false" /> -->
<!-- <property name="ignoreCookies" value="false" /> -->
<!-- <property name="sslTrustLevel" value="OPEN" /> -->
<!-- <property name="acceptHeaders">
<list>
<value>Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8</value>
</list>
</property>
-->
<!-- <property name="httpBindAddress" value="" /> -->
<!-- <property name="httpProxyHost" value="" /> -->
<!-- <property name="httpProxyPort" value="0" /> -->
<!-- <property name="httpProxyUser" value="" /> -->
<!-- <property name="httpProxyPassword" value="" /> -->
<!-- <property name="digestContent" value="true" /> -->
<!-- <property name="digestAlgorithm" value="sha1" /> -->
</bean>
- [property에 대한 설명]
- useHTTP11 : HTTP/1.1 request 사용 여부
- maxLengthBytes : fecth할 최대 byte 수. 이 length 이후는 truncate 시킨다. 0은 제한없음을 가리킴
- timeoutSeconds : fetch가 해당 시간 안에 끝나지 않으면 포기 후 다음에 다시 시도함.
- maxFetchKBSec : 서버로 부터 데이터를 fetch하는 최대 속도.
- defaultEncoding : http 응답 헤더에 지정되어있지 않을 경우 사용할 encoding 방식
- shouldFetchBodyRule : http 응답 헤더는 받았지만 body는 다운로드 하기 전 상태에서, 이곳에서 설정된 rule에 따라 body fetch를 할것인지를 결정한다. filtering. robots.txt의 필터링과 비슷한 사전 작업.
- AcceptDecideRule : 모두 ACCEPT 함
- ContentTypeNotMatchesRegexDecideRule : content-type이 명시된 정규식에 매칭되는 것들을 제외하고 모두 ACCEPT/REJECT
- decision : ACCEPT/REJECT 여부
- regex : 정규식 지정
- soTimeoutMs : socket timeout 값 지정. 소켓이 해당 milliseconds 만큼 반응이 없으면 포기.
- sendIfModifiedSince : 'Last-Modified'정보가 fetch 되었다면 'If-Modified-Since' 헤더 값을 보낼지 말지 결정
- sendIfNoneMatch : 'Etag'정보가 fetch 되었다면 'If-None-Match' 헤더 값을 보낼지 말지 결정
- sendConnectionClose : 매 request 마다 'Connection: close' 헤더를 보냄
- sendReferer : 매 request 마다 'Referer' 헤더를 보냄. Referer는 crawler의 location 정보와 현재 URI가 어디서 발견되어 크롤링 되고 있는지에 대한 정보를 가지고 있다. 이는 주로 원격 서버에 log로 남는다.
- sendRange : 위 maxLengthBytes 값이 설정 된 경우 Range헤더에 이를 보낼지 말지 결정한다.
- ignoreCookies : cookie 핸들링을 하지 않을 경우 true.
- sslTrustLevel :
- OPEN : 만료, selfsign된 것들 등을 모두 신뢰함
- LOOSE : selfsign된 것을 포함해 모든 유효한 certificate를 신뢰함
- NORMAL : selfsign된 것을 제회한 모든 유효 certificate를 신뢰함
- STRICT : Cert가 유효하고 DN이 servername과 일치할 경우만 신뢰함
- acceptHeaders : 각각의 request에 포함시킬 Accept Header 지정. 'Accept-'로 시작하지 않는 헤더도 지정할 수 있다.
- httpBindAddress : connection시에 사용할 local IP address 혹은 hostname
- httpProxyHost : proxy host ip
- httpProxyPort : proxy port
- httpProxyUser : proxy user
- httpProxyPassword : proxy password
- digestConent : 회신 받은 content-body를 곧장 해싱할 것인지의 여부
- digestAlgorithm : 위 해싱할 알고리즘
'212.Heritrix_설정파일 > 05. PROCESSING CHAINS' 카테고리의 다른 글
[Heritrix/crawler-beans.cxml]FETCH CHAIN-extractorHtml (0) | 2016.08.01 |
---|---|
[Heritrix/crawler-beans.cxml]FETCH CHAIN-extractorHttp (0) | 2016.08.01 |
[Heritrix/crawler-beans.cxml]FETCH CHAIN-fetchDns (0) | 2016.08.01 |
[Heritrix/crawler-beans.cxml]FETCH CHAIN-preconditions (0) | 2016.08.01 |
[Heritrix/crawler-beans.cxml]FETCH CHAIN-preselector (0) | 2016.08.01 |