CanonicalizationPolicy

  • uri를 정규화/고도화 시키는 작업을 수행한다.

기존 설정 값

 <!-- CANONICALIZATION POLICY -->
 <!--
 <bean id="canonicalizationPolicy" 
   class="org.archive.modules.canonicalize.RulesCanonicalizationPolicy">
   <property name="rules">
    <list>
     <bean class="org.archive.modules.canonicalize.LowercaseRule" />
     <bean class="org.archive.modules.canonicalize.StripUserinfoRule" />
     <bean class="org.archive.modules.canonicalize.StripWWWNRule" />
     <bean class="org.archive.modules.canonicalize.StripSessionIDs" />
     <bean class="org.archive.modules.canonicalize.StripSessionCFIDs" />
     <bean class="org.archive.modules.canonicalize.FixupQueryString" />
    </list>
  </property>
 </bean>
 -->

  • [property에 대한 설명]
    1. rules : frontier section에 가기 전 uri 정규화 작업에 포함 시킬 rule 목록을 아래 list에 나열함
  • [각 rule과 rule들에 대한 property 설명]
     모든 rule들은 org.archive.modules.canonicalize.___ 의 경로에서 관리된다.
    
    1. LowercaseRule : url을 소문자화 시킨다.
    2. StripUserinfoRule : url에 포함된 user 정보를 제거한다. ex) http://stack:psswrd@archive.org/index.htm -> http://archive.org/index.htm
    3. StripWWWNRule : url 앞 부분의 'www[0-9]*'를 제거한다. ex) http://www.archive.org/index.htm 와 http://www0001.archive.org/index.html 와 http://archive.org/index.html은 동일하다.
    4. StripSessionIDs : 알려진 session id(JSESSIONID, ASPSESSIONID, PHPSESSID, sid)는 제거한다. ex) http://archive.org/index.html?JSESSIONID=DDDSSE233232333355FFSXXXXDSDSDS -> http://archive.org/index.html
    5. StripSessionCFIDs : CFID를 제거한다. 제거 시 규칙은 다음과 같은 정규식을 따른다.
      ^(.+)(?i)(?:cfid=[^&]+&cftoken=[^&]+(?:jsession=[^&]+)?)(?:&(.*))?$
    6. FixupQueryString : '?' 뒤에 따라오는 값들을 삭제한다.


Posted by Righ
,