개발&Development/프로그래밍 일반

URL의 한글처리, 그리고 Tatter 1.0 Beta의 문제

겐도 2005. 12. 7. 00:22
지인들의 작품인 Tatter tools의 1.0 beta가 이제 슬슬 마무리 단계인 것 같아 이래저래 글을 보다가 Beta Site의 RSS를 Feedemon에 입력시키고 글을 보려는 순간... 글이 안보인다.

문제의 사진, 상단, 하단 모두 보이지만 정작 글이..



문제로 예상되는 부분은 바로 위의 그림에서 빨간 줄을 그은 한글 부분. UTF-8 옵션을 끈 상태로 사는데 IE에 입력하여도 역시나 안보인다. 이런 심각한 사태가?

그러나 해당 웹페이지상에서는 잘 보이네



테터 베타 블로그를 IE로 직접 연 다음 해당글을 찾아 링크를 누르니 잘 뜬다. 자세히보니 링크 자체가 %인코딩을 해서 제공되고 있고 따라서 누르면 매우 잘 보이게 된다. 무엇이 문제인건가?

<?xml version="1.0" encoding="UTF-8" ?>
- <rss version="2.0">
- <channel>
- <title>
- <![CDATA[ Brand Yourself !!
]]>
</title>
<link>http://chester.tatterstory.net/</link>
- <description>
- <![CDATA[ Tattertools v1.0 BETA 공식 커뮤니케이션 블로그입니다.
]]>
</description>
<language>ko</language>
<pubDate>Thu, 1 Dec 2005 23:28:33 GMT</pubDate>
- <item>
- <title>
- <![CDATA[ MySQL 하위버전 지원관련 안내
]]>
</title>
<link>
http://chester.tatterstory.net/entry/MySQL-하위버전-지원관련-안내
</link>
- <description>
- <![CDATA[
현재 지원하는 환경내에서 설치를 하신분들이 꽤 계신듯 하네요.&nbsp; 한명도 설치 못하면 어떻게 할까라는
... (이하 중략) ...

XML 자체에서 Link를 저런식으로 줌으로 해서 현재의 Tatter v1.0 Beta로 구성된 블로그는 나로서는 직접 가서 보거나 RSS Reader에서 옵션을 변경하여 해당 링크가 아닌 데이터로 보는 방법을 택해야 할 것이다.


RFC 2396 : Uniform Resource Identifiers (URI): Generic Syntax에 의거하면 URI에는 US-ASCII의 alphanum(RFC의 Appendix A를 보시라)으로 정의되어 있다. 물론 실제 프로그램들은 그 이상을 지원하긴 하지만 표준으로 정해지지 않다 보니 대표적으로 한글을 어떻게 표현하는가에 대해선 각기 상이할 수 있다. 인터넷 브라우저와 웹서버, 그리고 어플리케이션이 삼위 일체가 되어 마침 같은 식으로 처리한다면 문제가 없지만 하나라도 삐끗하면 "404 File Not Found" 에러를 보게 된다.

이런 상황에서 흔히 하는 방법이 웹페이지 하나를 만들고는 IE에서 UTF-8 옵션을 끄는 방법을 설명한 다음 이 링크를 구석구석마다 뿌리게 된다. 코딩 몇줄(수십줄일려나..)이면 수십 수백 수천(여기부턴 자신 없다..)의 사용자가 편해질텐데 말이다.


항상 표준을 지켜라. 표준을 지키려면 표준을 확인해야 한다. 표준을 공부하고 이해하는데 절대 Cost를 낭비해서는 안된다. 표준을 지킨다는 것은 후에 발생할 수 있는 잠재적인 문제의 가능성을 낮추어준다.(가령 Skype라는 프로그램은 HTTP 헤더에 Skype(R) 즉 non-ascii를 넣는 바람에 본인이 속해있는 팀에서 만든 프로그램에서 통신을 방해한다)
인풋(일반 사용자의 사용이 대표적인 예)이 다양한 경우라면 반대다. 표준만 지원해서는 안된다. 100%는 힘들겠지만 최대한 사용자가 뻘짓할 수 있는 모든 상황을 지원해야 한다.(이제는 텍스트 브라우저-lynx 같은-를 지원할 것 까지는 없지만 IE only의 웹사이트를 만들어서는 안될 것이다. 뭐 Sun 본사 직원중에도 MS-Windows와 Outlook을 쓰는 사람이 반드시 필요하게 만든 MS같은 전략이 아니라면;;)

~~~~~~~~~~~~~

Tatter v1.0을 아직 설치를 하지 않아서 어떻게 버그 레포팅을 하나 생각하다가 겸사겸사해서 흔히 실수하는 한글 URI 문제도 적어 보았다. 그리고는 낚시를...

낚여라~~~