mod_url을 살려내라!

cdpark의 이미지

kle.kldp.org 도메인이 사라지면서 mod_url의 홈페이지도 사라졌네요.
박원규님 홈페이제에도 여기저기 깨진 링크 뿐. :(

http://cvs.oops.org/index.cgi/mod_url/

여기서 구할 수는 있지만요. 아직은 쓸모가 있으니 어딘가 보금자리를 만들어야겠네요. kldp.net의 한 구석이라도요.

:idea: 그리고 mod_url의 wishlist

mod_url이 UTF-8으로 된 URL을 EUC-KR로 된 파일명으로 대응시켜주는데, 역대응인 경우도 필요합니다.

서버를 UTF-8으로 운영하고, 사용자는 전통 :?: 적인 EUC-KR로 접근하는 경우에도 mod_url과 마찬가지 일을 필요로합니다.

아예 mod_urlconv 쯤으로 이름을 바꿔 아파치 정식 모듈화하는 건 어떨까요? 한국 말고 url encoding에 문제가 되는 나라는 없나보죠? 일본이나 유럽 등에서 URL에 자국문자를 쓰는 경우 어떻게들 처리하고 있을까요?

<IfModule mod_urlconv.c>
    CheckURL ON
    ServerEncoding EUC-KR
    ClientEncoding UTF-8;EUC-KR;NONE
</IfModule>

식으로요. (client encoding은 순서를 줘서 무조건 처음에는 UTF-8으로 대응, 다음에는 EUC-KR로 대응, 마지막으로 그냥 주는 그대로... 식으로 하는 겁니다.

아직 apache1도 많이 쓰이니 apache1/apache2 둘 다 만들어도 되겠죠?

UTF-8으로 쇼핑몰을 구축해서 납품하고 싶은 guru 분들이 달려들면 금방일 듯.. :)

wkpark의 이미지

cdpark wrote:
kle.kldp.org 도메인이 사라지면서 mod_url의 홈페이지도 사라졌네요.
박원규님 홈페이제에도 여기저기 깨진 링크 뿐. :(

http://cvs.oops.org/index.cgi/mod_url/

여기서 구할 수는 있지만요. 아직은 쓸모가 있으니 어딘가 보금자리를 만들어야겠네요. kldp.net의 한 구석이라도요.


아.. 몇달 전에 어떤 분에게 메일을 받고 찾아보니 링크도 깨지고 그랬더군요 -_-;;

권순선님에게 부탁해서 mod_url을 다시 받아놓았는데 업로드 하지도 못하고 -_-;;

cdpark wrote:

:idea: 그리고 mod_url의 wishlist

mod_url이 UTF-8으로 된 URL을 EUC-KR로 된 파일명으로 대응시켜주는데, 역대응인 경우도 필요합니다.

서버를 UTF-8으로 운영하고, 사용자는 전통 :?: 적인 EUC-KR로 접근하는 경우에도 mod_url과 마찬가지 일을 필요로합니다.

아예 mod_urlconv 쯤으로 이름을 바꿔 아파치 정식 모듈화하는 건 어떨까요? 한국 말고 url encoding에 문제가 되는 나라는 없나보죠? 일본이나 유럽 등에서 URL에 자국문자를 쓰는 경우 어떻게들 처리하고 있을까요?

<IfModule mod_urlconv.c>
    CheckURL ON
    ServerEncoding EUC-KR
    ClientEncoding UTF-8;EUC-KR;NONE
</IfModule>

식으로요. (client encoding은 순서를 줘서 무조건 처음에는 UTF-8으로 대응, 다음에는 EUC-KR로 대응, 마지막으로 그냥 주는 그대로... 식으로 하는 겁니다.

mod_url은 mod_speling(spelling이 아니고 speling이네요 -_-;; ) 모듈을 변형한 것인데, mod_speling의 메카니즘이
* URL이 없으면 -> 잘못된 철자를 의심하고 철자를 교정 -> *반복가능*(?) -> 성공/실패 리턴
이런 식이므로 제안하신 내용은 적용할 수 있을 것 같습니다. )제 기억으로는 분명히 철자 교정을 몇번 반복하던 것으로 기억합니다.)

cdpark wrote:

아직 apache1도 많이 쓰이니 apache1/apache2 둘 다 만들어도 되겠죠?

UTF-8으로 쇼핑몰을 구축해서 납품하고 싶은 guru 분들이 달려들면 금방일 듯.. :)

apache2용은 김정균님이 패치를 한 버전이 따로 있는데, 아무튼 cdpark님의 말씀대로 kldp.net에 프로젝트를 개설해야 하겠군요. 언제하노...

온갖 참된 삶은 만남이다 --Martin Buber

권순선의 이미지

방금 kldp.net에 mod_url 보금자리가 마련 되었습니다. 프로젝트 관리자는 박원규님이고, 주소는 http://kldp.net/projects/modurl 입니다. 부디 많은 호응 있었으면 좋겠네요. 저도 상당히 애착을 가지고 있는 아파치 모듈이라... (문서작업 기반을 wiki로 바꾸고 나서는 필요가 없었죠.)

제가 썼던 사용 설명서도 잘 있나 모르겠네요. :-)

RisaPapa의 이미지

cdpark wrote:
mod_url을 살려내라!

mod_url에 대해서는 현재 저로서는 부정적인 생각을 가지고 있습니다.
먼저 iconv라이브러리를 사용하여 모든 언어의 UTF-8을 서포트해야만
되고 현재 조금씩 활성화되고 있고 차세대 인터페이스로서 주목을 받고
있는 WebDAV와도 관련이 발생하게 되기 때문입니다. mod_url을
사용하면 WebDAV에서 심각한 문제점들이 발생합니다.

일단 저는 윈도우버전 아파치2에서 미미 해결을 한 상태이고 소스를
유닉스계열에서 컴파일 만하면 간단히 해결할 수가 있는 것은 완성된
상태입니다. 회사차원에서 개발한 것이기 때문에 마음대로 공개를 할
수가 없다는 것이 안타까울 뿐입니다.

캐릭터셋의 서버사이드 인코딩은 그렇게 간단한 사항이 아니라고 생각합니다.
먼저 발생할 수가 있는 여러 문제점을 리스트하여 하나씩 설계를 하여야만
하리라고 생각합니다.

mod_url소스는 한번 깊히 연구한 적이 있는데 이 소스로서는 제가 생각하고
있는 캐릭터셋관련을 해결할 수가 없어서 개량하여 사용하는 것을 포기한
적이 있습니다. 저는 mod_url에 대해서는 처음부터 재설계를 해아만 되리라고
생각하고 있습니다.

wkpark의 이미지

<IfModule mod_url.c>
  CheckURL On
  ServerEncoding EUC-KR
  ClientEncoding UTF-8
</IfModule>

cdpark님이 제안하신 것을 간소화시켜서 적용하였습니다. 아파치 2.0.x용입니다.

http://cvs.kldp.net/viewcvs/modurl/mod_url/apache2/

아파치 1.3.x용은 테스트하지 않았습니다.
http://cvs.kldp.net/viewcvs/modurl/mod_url/apache1/

온갖 참된 삶은 만남이다 --Martin Buber

김정균의 이미지

cdpark wrote:

http://cvs.oops.org/index.cgi/mod_url/

여기서 구할 수는 있지만요.

http://cvs.oops.org/index.cgi/mod_url/?cvsroot=OOPS-Apache

로 이동했습니다. CVS 정리를 좀 했거든요 :-)
kldp.net 의 새로운 버전 역시 commit 해 놓았습니다. 나둘까 지울까
고민 중이지만, 아무래도 찾기 쉽게 나둘 확률이 높겠군요.

wkpark의 이미지

cdpark wrote:

...
아예 mod_urlconv 쯤으로 이름을 바꿔 아파치 정식 모듈화하는 건 어떨까요? 한국 말고 url encoding에 문제가 되는 나라는 없나보죠? 일본이나 유럽 등에서 URL에 자국문자를 쓰는 경우 어떻게들 처리하고 있을까요?
...

저도 이점이 궁금해서 찾아보니, mod_url과 같은 기능을 하는 mod_encoding이라는 모듈이 있군요. 언제 한번 본것 같기도 하고 -_-;;;

아파치 1.3.x용과 2.0 버전이 각각 있는데, 웹상에서 소스를 볼 수 있는 아파치 2.0 최신을 링크해보면
http://webdav.todo.gr.jp/download/experimental/mod_encoding.c.apache2.20040616

다음과 같은 식으로 설정합니다.

EncodingEngine On
SetServerEncoding <enc>
AddClientEncoding <agent> <enc> <enc> ...

1.3.x용의 tarball에는 설명서도 잘 나와있습니다.

mod_encoding의 저자는 또한 web_dav 패치도 같이 관리하고 있습니다.
mod_url로 원하는 결과를 얻지 못하시는 분들은 이것을 참조하시면 될 것 같네요.

온갖 참된 삶은 만남이다 --Martin Buber

dhunter의 이미지

mod_url 은 현 시점에서는 필요악이라고 봅니다.

좀 더 현명한 방법으로 개량할수 있을진 몰라도 어쨌든 필요는 있어요.

from bzImage
It's blue paper

RisaPapa의 이미지

박원규 wrote:
cdpark wrote:

...
아예 mod_urlconv 쯤으로 이름을 바꿔 아파치 정식 모듈화하는 건 어떨까요? 한국 말고 url encoding에 문제가 되는 나라는 없나보죠? 일본이나 유럽 등에서 URL에 자국문자를 쓰는 경우 어떻게들 처리하고 있을까요?
...

저도 이점이 궁금해서 찾아보니, mod_url과 같은 기능을 하는 mod_encoding이라는 모듈이 있군요. 언제 한번 본것 같기도 하고 -_-;;;

아파치 1.3.x용과 2.0 버전이 각각 있는데, 웹상에서 소스를 볼 수 있는 아파치 2.0 최신을 링크해보면
http://webdav.todo.gr.jp/download/experimental/mod_encoding.c.apache2.20040616

다음과 같은 식으로 설정합니다.

EncodingEngine On
SetServerEncoding <enc>
AddClientEncoding <agent> <enc> <enc> ...

1.3.x용의 tarball에는 설명서도 잘 나와있습니다.

mod_encoding의 저자는 또한 web_dav 패치도 같이 관리하고 있습니다.
mod_url로 원하는 결과를 얻지 못하시는 분들은 이것을 참조하시면 될 것 같네요.

이것(modencoding)을 그대로 사용하면 낭패를 볼 수도 있습니다.
간단히 디렉토리명이나 어드레스를 인코딩하는 것이데 모든 것을 인코딩
처리 하기 때문에 ?이하로 처리된 CGI나 웹 애플리케이션이 작동을
하지 않을 수도 있기 때문입니다. 웹의 POST와 GET에 대한 배려가
있어야 하는데 이 부분의 처리에 미스가 있습니다.

간단한 정보라도 이러한 팁이 결부되면 많은 사람들이 시간을 절약할 수가
있으리라고 생각합니다. 그냥 사용하면 100% 서버에 문제가 발생 할것입니다.

그외에 RFC와 관련된 "&" 문자의 처리 문제도 있습니다.

서버의 모듈로 작동하는 것은 이러한 문제가 다른 모든 모듈과 서버에서
작동하는 모든 애플리케이션에 영향을 미치게 되고 적용된다는 점은 항상
염두하면서 이러한 모듈을 적절하게 사용해야 된다고 생각합니다.

dkong의 이미지

데비안 사지 + 아파치 2.0.54 버전 + php4를 사용하고 있는데요, 한글이름으로 된 파일, 특히 그래픽들이 제대로 출력되지 않아 하루정도 고생했습니다.
위에서 설명해주신대로 패키지로 mod_encoding을 설치하고 위의 옵션을 mod-enable디렉토리에서 encoding.load 파일에 추가했더니 제대로 동작합니다.
물론 웹브라우저(IE)의 UTF-8로 항상보냄 옵션을 건들지 않고도 잘 동작하는 것을 확인했습니다.

혹시 저같은 초보분들께서 한글로된 파일때문에 고생하실까봐 글을 적어봅니다.

wkpark의 이미지

RisaPapa wrote:

이것(modencoding)을 그대로 사용하면 낭패를 볼 수도 있습니다.
간단히 디렉토리명이나 어드레스를 인코딩하는 것이데 모든 것을 인코딩
처리 하기 때문에 ?이하로 처리된 CGI나 웹 애플리케이션이 작동을
하지 않을 수도 있기 때문입니다. 웹의 POST와 GET에 대한 배려가
있어야 하는데 이 부분의 처리에 미스가 있습니다.

GET POST는 전적으로 브라우저와 그 웹페이지의 인코딩과 관련된 문제로 압니다.
URL과는 별개 문제입니다.

온갖 참된 삶은 만남이다 --Martin Buber