일반적으로 서버 부담을 덜고 검색 엔진 친화성을 높이기 위해 기사 콘텐츠에서 정적 페이지를 생성합니다.
그러나 때로는 일부 정보를 실시간으로 표시하거나 동적 스크립트를 사용하여 일부 문제를 해결하기 위해 웹 사이트 콘텐츠를 정적 방식으로 표시할 수 없으며 동적 페이지 표시를 사용해야 합니다.
이런 식으로 검색 엔진에 대한 친숙성이 상실됩니다. 둘 사이의 중간 방법을 찾는 방법은 무엇입니까? 웹 사이트 주소의 가독성을 높이고 검색 엔진에 사이트를 빠르게 포함시킬 수 있는 방법은 무엇입니까?
이를 위해서는 웹 페이지의 주소를 아름답게 해야 하며, 그 결과 의사 정적 기술이 탄생하게 되는데, 이는 우리가 흔히 Url Rewriter 재작성 기술이라고 부르는 것입니다. 즉, 우리가 페이지를 방문할 때 주소 표시줄에 표시되는 것은 ".html"로 끝나는 정적 페이지이지만 실제로는 동적 웹 페이지를 방문하고 있는 것입니다. 여기에서는 UrlRewriter 기술을 사용해야 합니다.
아시다시피 URL 재작성 기술을 제공하는 서버는 많이 있을 수 있습니다. 과거에 우리가 가장 많이 사용한 것은 Apache 및 Jboss와 같은 서버와 함께 제공되는 일부 URL 재작성이었습니다. 그러나 이들의 구성은 더 까다롭고 성능도 더 뛰어났습니다. 별로 좋지 않습니다. 이제 Url 재작성 작업을 완료하기 위한 전용 오픈 소스 프레임워크가 생겼습니다. 오늘 소개하고 싶은 것은 상대적으로 사용하기 쉬운 UrlRewriteFilter입니다. UrlRewriteFilter는 Apache의 mod_rewrite와 유사하게 URL을 다시 작성하는 데 사용되는 웹 필터입니다. 모든 웹 애플리케이션 서버(예: Resin, Orion, Tomcat 등)와 작동합니다. 일반적인 응용 프로그램은 동적 URL을 정적으로 만들어 검색 엔진 크롤러가 동적 웹 페이지를 더 쉽게 크롤링할 수 있도록 하는 것입니다.
먼저 URL 재작성을 사용하면 웹사이트에 어떤 이점이 있는지 간략하게 살펴보겠습니다.
첫째: 대부분의 검색 엔진은 여전히 동적 페이지를 크롤링하는 데 상대적으로 약하고 일부 정적 페이지를 크롤링하는 것을 선호하기 때문에 검색 엔진 크롤링이 유익합니다. 현재 페이지의 대부분의 데이터는 동적으로 표시됩니다. 이를 위해서는 동적 페이지를 정적 페이지로 전환해야 하며 이는 검색 엔진 크롤링에 도움이 됩니다.
둘째, 사용자가 쉽게 이해할 수 있도록 하십시오. 웹사이트의 페이지 주소에 관심을 두는 사용자는 거의 없지만, 일반 대형 및 중형 웹사이트에서는 여전히 가독성을 높이는 것이 필요합니다. 그러면 귀하의 웹 사이트가 더욱 완벽해질 것입니다.
셋째: 숨겨진 기술을 실현하기 위해 URL 재작성을 통해 기술을 숨길 수 있습니다. 귀하가 사용하는 기술을 노출시키지 않으며 귀하의 웹사이트를 공격하려는 일부 매니아에게 편의를 제공하지 않습니다.
넷째: 웹사이트의 이식성을 향상시키기 위해 쉽게 재사용할 수 있습니다. 백그라운드 방식을 변경하면 프런트엔드 페이지 부분을 변경할 필요가 없도록 할 수 있습니다. 이는 웹사이트의 이식성을 향상시킵니다.
장점이 많지만 단점도 있습니다. 필터 원리를 통해 구현되기 때문에 한 번 더 액세스하면 액세스 속도에 어느 정도 영향을 미칠 것으로 생각되며 이는 무시할 수 있습니다.
UrlRewriter 기술에는 이제 두 가지 기술 플랫폼이 있습니다. 하나는 Java 방향이고 다른 하나는 .NET 방향입니다. 오늘 우리는 Java 지향 애플리케이션에 대해 이야기하고 있습니다.
먼저 어떻게 작동하는지 알아보겠습니다. 직설적으로 말하면 간단한 필터인데, 소스 코드를 보면 우리가 jsp에서 흔히 사용하는 두 가지 메소드를 통해 구현된다는 것을 금방 알 수 있습니다. sendRedirect().
아래에서는 URL 재작성 기술을 간단하게 적용해 보겠습니다.
1단계 : urlrewrite-3.2.0beta.jar 패키지를 다운로드하고 urlrewrite-3.2.0beta.jar을 클래스 경로에 복사합니다.
2단계 : WEB-INF 디렉터리에 urlrewrite.xml 구성 파일을 만듭니다.
3단계 : web.xml 구성 파일에서 UrlRewriteFilter를 초기화하고 구성합니다. 구성 파일에 다음 코드를 추가합니다.