개서 엔진

Rewrite engine

웹 응용 프로그램에서 개서 엔진은 URL(Uniform Resource Locator)에 대한 개서를 실행하여 외관을 변경하는 소프트웨어 컴포넌트입니다.이 변경을 URL 개서라고 부릅니다.는 웹 응용 프로그램 내에서 URL 매핑 또는 라우팅을 구현하는 방법입니다.엔진은 일반적으로 웹 서버 또는응용 프로그램 프레임워크의 구성 요소입니다.다시 작성된 URL(짧고 예쁘거나 화려한 URL, 검색 엔진 프렌들리(SEF URL 또는 slug)라고도 함)은 웹 페이지에 더 짧고 관련성이 높은 링크를 제공하기 위해 사용됩니다.이 기술은 웹 페이지를 생성하는 데 사용되는 파일과 외부에 표시되는 URL 사이에 추상화 계층을 추가합니다.

사용.

동적 콘텐츠가 있는 웹 사이트는 쿼리 문자열 매개 변수를 사용하여 서버에서 페이지를 생성하는 URL을 사용할 수 있습니다.서브디렉토리 계층이 있는 사이트의 정적 페이지의 URL과 비슷하게 고쳐 쓰는 경우가 많습니다.를 들어 Wiki 페이지의 URL은 다음과 같습니다.

http://example.com/w/index.php?title=Page_title

다만, 다음과 같이 고쳐 쓸 수 있습니다.

http://example.com/wiki/Page_title

블로그에는 각 엔트리의 날짜를 인코딩하는 URL이 있을 수 있습니다.

http://www.example.com/Blog/Posts.php?Year=2006&Month=12&Day=19

다음과 같이 변경할 수 있습니다.

http://www.example.com/Blog/2006/12/19/

또, 유저는 URL 를 변경해, 12 월에 이용 가능한 모든 투고를 표시할 수 있습니다.단, 디렉토리 「업」을 조작하는 것처럼, 「19 일」을 인코딩 하는 텍스트를 삭제하는 것만으로, 다음과 같습니다.

http://www.example.com/Blog/2006/12/

사이트는 URL에서 검색 엔진으로 검색어로 특수 용어를 전달할 수 있습니다.이를 통해 사용자는 브라우저에서 직접 검색할 수 있습니다.예를 들어, 브라우저의 위치 표시줄에 입력된 URL:

http://example.com/search 용어

HTTP 요청을 작성하기 전에 브라우저에 의해 URL 인코딩됩니다.서버는 이것을 다음과 같이 고쳐 쓸 수 있습니다.

http://example.com/search.php?q=search%20term

장점과 단점

URL [1]개서를 사용하면 다음과 같은 이점이 있습니다.

  • 이 링크들은 사용자 및 검색 엔진 모두에 대한 "친절성"을 향상시켜 "더 깨끗하고" 더 자세히 설명되어 있습니다.
  • 불필요한 "인라인 링크"를 방지하여 대역폭을 낭비할 수 있습니다.
  • 사이트에서는 서비스 제공에 사용되는 기반이 되는 테크놀로지가 변경되어도(예를 들어 새로운 블로그 엔진으로의 전환) 같은 URL을 계속 사용할 수 있습니다.

단, 단점도 있을 수 있습니다.사용자가 URL을 변경하여 새로운 데이터를 취득할 경우 URL을 다시 쓰면 명명된 변수가 없기 때문에 커스텀쿼리의 구축이 방해될 수 있습니다.예를 들어, 다음 형식에서 날짜를 확인하는 것이 어려울 수 있습니다.

http://www.example.com/Blog/06/04/02/

이 경우 쿼리 변수가 월과 날짜를 나타냈기 때문에 원래 쿼리 문자열이 더 편리합니다.

http://www.example.com/Blog/Posts.php?Year=06&Month=04&Day=02

웹 프레임워크

많은 웹 프레임워크에는 직접 또는 확장 모듈을 통해 URL 개서가 포함되어 있습니다.

  • Apache HTTP Server에는 mod_rewrite [2]모듈에 의해 제공되는 URL 개서가 있습니다.
  • URL 개서는, Microsoft [3]IIS 의 확장으로서 사용할 수 있습니다.
  • Ruby on Rails에는 [4]루트를 통한 URL 개서가 포함되어 있습니다.
  • 자카르타 서블릿에는 OCPsoft URLRewriteFilter 및 Tuckey UrlRewriteFilter를 통해 확장 가능한 URL 개서가 있습니다.
  • 자카르타 서버 페이스는 PrettyFaces: URLRewriteFilter를 통해 URL 개서를 간소화했습니다.
  • 장고는 정규 표현식 기반 시스템을 사용합니다.이것은, 「재작성」하는 스크립트가 없고, 디렉토리 구조도 없기 때문에, 엄밀하게는 URL 개서가 아닙니다만, URL [5]개서의 유연성을 최대한으로 발휘합니다.
  • Java Stripes Framework는 버전 1.[6]5부터 통합 기능을 갖추고 있습니다.
  • Mojolicious Catalyst 등 많은 Perl 프레임워크에 이 [7]기능이 있습니다.
  • CodeIgniter에는 URL 개서가 준비되어 있습니다.
  • lighttpd에는 mod_module이 [8]있습니다.
  • nginx에는 개서 [9][10]모듈이 있습니다.예를 들어 /f101,n61,o56,d/ifconfig와 같은 URI에서 멀티링크 다변수 페이지를 생성할 수 있습니다.여기서 f101과 같은 여러 개별부분은 정규표현의 도움으로 FreeB를 나타내는 변수로 확장됩니다.SD 10.1-릴리스
  • Hiawatha HTTP 서버에는 URL [11]개서를 지원하는 URL 툴킷이 있습니다.
  • Cherokee HTTP 서버는 URL 개서 및 리다이렉션의 정규 표현을 지원합니다.

소프트웨어 개발의 관점에서 보면 URL 개서는 코드 모듈화와 [12]흐름 제어에 도움이 될 수 있으므로 최신 웹 프레임워크의 유용한 기능이 됩니다.

「 」를 참조해 주세요.

메모들

  1. ^ 이들 중 대부분은 URL을 파일 시스템엔티티(파일 및 디렉토리)에 매핑하는 기본 동작의 HTTP 서버에만 적용됩니다.많은 HTTP 애플리케이션서버 플랫폼 등 특정 환경에서는 이 기능이 무관합니다.
  2. ^ mod_model 문서
  3. ^ Microsoft IIS의 URL 개서 확장
  4. ^ "Rails Routing from the Outside In". "Ruby on Rails. Retrieved 25 April 2014.
  5. ^ 장고 URLconf
  6. ^ 스트라이프 1.5의 clean urls
  7. ^ 가이드 - 은하에 대한 Mojolicious Guide.Mojolicious.2013-09-08에 취득.
  8. ^ Docs ModRewrite - Lighttpd - Lighty labs.Redmine.lighttpd.net 를 참조해 주세요.2013-09-08에 취득.
  9. ^ "ngx_http_rewrite_module - rewrite". nginx.org. Retrieved 25 December 2014.
  10. ^ Murenin, Constantine A. (18 February 2013). "A dynamic web-site written wholly in nginx.conf? Introducing mdoc.su!". nginx@nginx.org (Mailing list). Retrieved 24 December 2014.
  11. ^ Hiawatha 웹 서버 매뉴얼의 URL Toolkit 부분
  12. ^ "Clean URL". DocForge. Retrieved 25 April 2014.

외부 링크