2011-09-02 2 views
0

수동 웹 라우팅의 목적은 무엇입니까? 왜 모든 사람들이 URL과 모듈/메소드/함수 이름을 자동으로 매핑하지 않습니까?웹 라우팅이 항상 자동화되지 않는 이유는 무엇입니까?

완전 자동 매핑으로 시작할 수 있으며 기존의 URL을 손상시키지 않고 URL을 변경하는 방식으로 리팩터링하려는 경우 Apache mod_rewrite 또는 mod_redirect를 사용할 수 있습니다.

+1

정확히 무엇이 질문입니까? '수동 라우팅'은 어디에서 볼 수 있습니까? "수동 라우팅"과 mod_rewrite의 차이점은 무엇입니까? – deceze

+0

나의 주장은 자동 라우팅 (라우팅 0 라인)으로 시작한 다음 나중에 리펙토링을 처리하는 데 필요한 경우 mod_rewrite (정규 표현식을 사용하여 1 또는 2 라인의 라우팅)를 추가 할 수 있다는 것입니다. 노출 된 모든 방법/기능 (100 줄의 라우팅)에 대해 수동 경로를 만드는 것이 아닙니다. –

+0

@Robin Green 주장은 의문이 아닙니다. 당신이 지금하고있는 말처럼 혼동 스럽다. –

답변

5

자동 라우팅을 통한 수동 라우팅을 사용하는 주된 두 가지 이유가 있습니다.

  1. 수동 라우팅을 사용하면 REST가 사용되는 그대로 사용할 수 있습니다. 즉, 동일한 URL이 사용 된 HTTP 메소드 (POST, GET, PUT, DELETE)로 구별되는 4 개의 다른 조치에 액세스 할 수 있습니다. 자동 라우팅을 사용하면 기본 함수의 메서드 이름이 노출되므로 4 개의 서로 다른 URL을 사용할 수 있습니다.

  2. 수동 라우팅을 사용하면 검색 엔진 친화적 인 URL을 더 많이 생성 할 수도 있습니다. 이것은 일반적으로 slugify 방법을 사용하여 수행되지만 수동 라우팅을 사용하면이 추가 정보를 무시하고 URL의 ID 부분에만 집중하여 특정 리소스로 올바르게 라우팅 할 수 있습니다.

순전히 외관상의 또 다른 이유는 URL이보기 좋게 보인다는 것입니다. 그게 중요합니까? 어떤 사람들은 그렇게 생각할 수도 있습니다.

2

응용 프로그램에서 제공하는 URL 네임 스페이스가 사용자 인터페이스의 일부이므로 하나의 인수는 응용 프로그램의 나머지 소스 코드와 관련된 라우팅 규칙이됩니다. 또한 Ruby on Rails의 경우 라우팅 구성은 모두 Ruby 코드이므로 필요한 경우 Apache 모듈 만 허용하는 것보다 복잡한 비즈니스 로직을 가질 수 있습니다.

1

편안한 HTTP의 경우 URL이 중요합니다. 자동 URL 만 사용하는 경우 URL이 너무 좋지 않습니다. 예를 들어 GET과 POST를 구분하여 Play의 Users.edit() 및 User.save()에 대해 동일한 URL/udpateUsers를 사용할 수 있습니다. 또한/users/show/1과 같은 데이터 바인딩을 지원하여 ID가 ​​1 인 사용자를 표시 할 수 있습니다. 그러나 Play의 기본값은 자동으로 수행하는 것입니다.

0

일반적인 웹 개념에서 "모듈"이란 무엇입니까?

아파치의 기본값은 아파치를 실행하는 모든 시스템에있는 유일한 것 중 하나이기 때문에 파일 시스템에 매핑하는 것이 기본값입니다.

+0

예. 프로그래밍 언어에 대해 아는 것은 Apache의 직업이 아니므로 Apache를 사용하여 URL을 다시 작성하는 방법에 대해 이야기했습니다. 어떻게 그 일을 할 수 있었는지 보여주는 예가 될 수 있습니다. –

+0

요점은 아파치가 당신의 프로그래밍 언어에 대해 모른다는 것 때문에 아파치의 디폴트가 파일 시스템에 매핑된다는 것입니다.아파치가 당신의 언어가 무엇인지 모른다면 "자동 라우팅으로 어떻게 시작하나요?" 어쩌면 나는 당신이 "자동 라우팅"이라는 의미를 얻지 못할 수도있다. – Gareth

+0

나는 웹 프레임 워크에 의해 제공되는 자동 라우팅을 의미하며, 각 방법/함수/등을위한 URL을 생성한다. 예 : Play에서 다음 요청을 처리하려는 메서드에 해당하는 URL을 가져 오도록 프레임 워크에 요청할 수 있습니다. –