mod_pagespeed를 다른 시스템으로 포팅

mod_pagespeed를 다른 서버로 포팅하시겠습니까? 아니면 다른 시스템에 통합하시겠습니까? 맞습니다! Google은 mod_pagespeed를 모듈식으로 개발하여 Apache와 거의 완전히 독립적으로 만들었습니다. Apache 관련 코드는 net/instaweb/apache 디렉터리에만 있습니다.

Google 소스의 기본 코드는 net/instaweb/입니다.

  • util/http/에는 MessageHandler, Timer, UrlFetcher 같은 기본 추상 클래스가 포함된 기본 도구가 많이 있습니다. 몇 가지 구현 예가 있지만 그중 다수를 자체 구현해야 합니다.
  • htmlparse/에는 핵심 HTML 파서가 있습니다. 이 문제를 처리할 필요가 전혀 없습니다.
  • rewriter/에는 재작성 필터 및 프레임워크가 있습니다. 중앙 통합 지점은 RewriteDriverFactory의 부분 추상 클래스입니다. 통합 작업은 먼저 서브클래스를 분류하고 순수한 가상 메서드를 구현하는 것으로 시작됩니다.

다음 클래스에 대한 포트를 구현해야 할 수 있습니다 (apache/ 디렉터리의 구현 예 참고).

그런 다음 실제로 코드를 호출하려면 FooRewriteDriverFactory을 만들어 모든 객체를 만든 다음 서버의 각 플러시 사이에 StartParseWithType(url, content_type), ParseText(text)를 생성하고 각 요청에 FinishParse()를 사용해야 합니다.

이 문제를 살펴보거나 문제가 있는 경우 개발 메일링 리스트에 이메일을 보내 주세요. 내부 인터페이스가 유지된다고 보장할 수는 없으므로 이러한 인터페이스 사용 여부를 모르면 포트를 쉽게 중단할 수 있습니다.