20100122 :: 인터넷 주소(url)은 대소문자를 구분할까?

인터넷 주소 입력창에 입력하는 인터넷 주소. 인터넷 주소는 과연 대소문자를 구분할까요?

딱히 집어서 그렇다, 아니다를 구분할 수가 없습니다. 특정 웹 문서의 인터넷 상의 주소를 우리는 URL이라고 합니다. 이 URL의 구성을 먼저 살펴보도록 하지요.

예를 들어 http://www.myservice.com/somepage.jsp?articlenum=5 라는 URL은 크게 5개 부분으로 구성되어 있다고 볼 수 있습니다. 이는 다음과 같이 구성됩니다.

  1. http:// -> 서버로부터 웹 문서 정보(html)와 이미지 등의 리소스를 받아올 프로토콜입니다. 프로토콜은 데이터를 어떤 순서로 넘겨주는 방식을 미리 정해 놓은 것이라 생각하시면 됩니다.
  2. www.myservice.com/ -> 서버의 도메인 네임입니다. 인터넷에 물려있는 컴퓨터들은 고유의 주소인 ip를 가지고 있습니다. 하지만 ip는 숫자로 구성되어 사람이 기억하기 힘드므로, 도메인네임을 부여하여 구분 및 기억을 쉽게 하도록 합니다. 우리는 흔히 이런 도메인까지만 주소창에 입력하여 웹 사이트로 접근하곤 합니다.
  3. /somepage.jsp -> 해당 서버 내의 특정 파일 위치입니다. 해당 서버의 웹 서버가 서비스를 제공하는 디렉터리 혹은 그 하위 디렉터리 어딘가에는 저 이름의 파일이 존재합니다.
  4. jsp등의 서버 사이드 스크립트에서 동적인 내용을 구성할 때 미리 전달되는 파라미터 입니다. 내부적으로 articlenum이라는 값을 받아주는데, 예를 들자면 5번 게시물을 표시하겠다는 의미 정도가 됩니다.

이러한 URL의 구성에서 먼저, 도메인 네임은 대소문자를 구분하지 않습니다. 도메인 네임은 도메인 네임 서버 (DNS)에서 확인하여 해당 주소의 컴퓨터 ip를 브라우저에게 돌려줍니다. 그러면 웹 브라우저는 DNS가 알려주는 ip로 접속하여 웹 페이지의 정보를 내려받게 됩니다. 이 도메인 네임 서버들은 대소문자에 무관하게 동작합니다. (주소창에 구글이나 네이버의 주소를 대문자나 소문자 혹은 섞어서 사용해도 아무런 문제 없이 잘 접속하는 것으로 확인이 가능합니다.)

문제는 서버까지 도달한 다음입니다. 우선 윈도 기반의 운영체제로 가동되는 서버들은 우리가 흔히 사용하는 윈도XP나 비스타, 윈도7에서와 마찬가지로 디렉터리 명이나 파일명에서 대소문자를 구분하지 않습니다. 따라서 위의 예시 주소를 http://www.myservice.com/SomePage.jsp, http://www.myservice.com/SOMEPAGE.JSP 등으로 변경하여 입력하여도 올바른 페이지를 보여주게 됩니다.

그런데 웹서버 중에서는 리눅스나 유닉스 계열의 서버들도 아주 많이 있습니다. 이들 운영체제는 명령어나 파일, 디렉터리 이름에 사용되는 문자에 대해 모두 대/소문자를 구분합니다. 즉 이들 운영체제에서는 somepage와 SomePage, SOMEPAGE는 모두 엄연히 다른 이름입니다. 따라서 만약 www.myservice.com에 해당하는 서버가 리눅스 서버라면 http://MY.SERVICE.COM/somepage.jsp 는 올바로 접속이 가능하지만, http://my.service.com/SomePage.jsp는 올바른 접속이 되지 않고 HTTP 404 에러가 발생하게 됩니다. (물론 별도의 SomePage.jsp 파일이 있다면, 그 파일의 내용이 표시될 것입니다.)

변수값으로 전달되는 ?이후의 부분들도 마찬가지 입니다. 이는 운영체제 보다는 서버사이드 스크립트에 사용된 언어가 무엇인가에 의존적이지요. 예를 들어 언어 자체의 문법이 대소문자를 구분하는 jsp, php의 경우에는 이 부분에서도 대소문자를 구분합니다. (윈도 서버에 설치되었다 하더라도 말이지요) 반대로 비주얼베이직의 특성을 물려 받은 asp 같은 경우에는 대소문자를 구분하지 않으므로 상관 없습니다.

따라서 오늘의 궁금증에 대한 결론을 정리해 보자면

  1. 도메인 주소명은 대소문자를 구분하지 않는다.
  2. 디렉터리 명 이하의 주소는 서버의 운영체제에 따라 다르다. 윈도 서버는 대소문자를 구분하지 않지만, 리눅스나 유닉스 계열의 서버는 대소문자를 구분한다.
  3. 매개 변수명은 웹 서비스를 구성한 스크립트 언어 특성에 따른다. asp를 제외한 대부분의 서버 사이드 스크립트는 대소문자를 구분하는 편이다.

결국 MS 제품들은 거의 대소문자를 구분하지 않는 것으로 나타나네요. 뭐 그렇다고해서 그것이 반드시 편하고 좋다는 이야기는 아닙니다. 그저 제가 궁금해서 이래 저래 조사해본 내용이고, 별 영양가는 없는 포스팅이 되어 버렸네요. ㅠㅠ

20100121 :: 누워서 몇 가지

그제 철야를 하고 어제 저녁부터 밥도 안 먹고 잤더니, 조금 더 자고 싶은데 배가 고파서 눈이 떠지는군요.  공인인증서 저장위치에 대한 글이 꽤 많은 조회수를 보이고 있는데, 아무래도 네이버에서 ‘공인인증서’로 검색들 많이 하시나 봅니다. 원래 포스팅 예고 같은 건 지키기가 힘드니까 잘 안하는데 (심지어 공인인증서 관련 글도 처음 글 열고서 거의 열흘만에 발행한 듯 싶네요) 후속으로 몇 가지 포스팅을 더 해 볼까 합니다.

정작 보안이나 이런 부분에서의 문제는 악의적인 해커가 기술적으로 뚫고 들어오는 취약점이 문제가 아닌데, 그리고 우리 나라 웹환경에서 때려 죽일 놈은 정작 액티브 엑스가 아니라는 이야기입니다. 그러니까 앞에서는 실컷 까 놓고 이제와서 무슨 말이냐 하실수도 있는데, “액티브엑스 그 자체”가 문제가 아니라는 겁니다. 사실 상 액티브 액스는 사용자에 대한 접근성을 제한하는 것으로 욕을 먹는 것으로 충분할 듯 합니다. 이미 그로 인한 심각한 보안 위험이 널리 알려져 있고, 그보다 더 중요한 문제는 따로 있기에 이제는 사장되는 기술이라고 보아도 되는 것이니까요. 그런데 이 기술이 국내에선 이다지도 창궐하는 이유는? 그것이 바로 액티브액스 자체가 문제가 아니라는 이야기입니다. 그래서 기술적인 관점에서의 뚫고 막는 보안이야기가 아닌 어디가 문제가 되고 어떤 이유로 우리가, 네티즌이, 일반사용자가, 소프트웨어 판매 업체의 봉들이 어떤 행동 들을 조심해야 하며, 애초에 “개인 정보 보호”라는 관점에서는 웹을 어떻게 바라보아야 하는지에 대해 몇 개의 글을 써 볼까 하는 생각을 하고 있습니다. (음… 그냥 하고만 있습니다.)

결정적으로 집에서 사용하던 PC가 새로산 그래픽카드가 나흘만에 맛이 간 걸로도 모자라, 어제 저녁부터 아예 전원이 들어오지도 않는군요. 그냥 저번에 쿨하게 통째로 버리고 바꿀걸 그랬나 봅니다. (지금은 자리에 누워 노트북으로 블로깅 중…) 그래서 그 핑계로 다음 포스팅은 아마 매우 늦을 것이라는 말씀을 끝으로 오늘의 포스팅을 마무리할까 합니다.

비가 오는 겨울 날씨가 영 어색한 어제였습니다만, 비가 그쳤으니 오늘부터는 또 춥겠지요. 다들 감기 조심하세요.

20010105:: 네이버씨 내 저작권 어쩔거임 2

음.. 지난번에 제 블로그에서 퍼나른 이미지에 떡하니 자기 인장을 찍어다가 카페를 운영하는 걸 적발(?)했다고 포스팅했더랬습니다. 물론 ‘신고’만 하고 과연 이런 신고가 실효성이 있는 건지 살짝 궁금하기도 해서 네이버 고객센터를 이용해서 문의를 해봤습니다.

뭐 사실 그리 기대는 안 했지만 지난 번 해킹 사건 때 그래도 나름 성의있는 답변의 자세를 보여준 상담원이 있었기 때문에 그래도 copy&paste 따위의 수준을 각오했던 건 아니었어요. 사실 ‘내 그림을 배껴갔다 ㅅㅂ’ 류라기보다는, 카페에서 단순히 신고만해도 어떤 제제가 가해지는지, 이런 경우에 대해 네이버는 관심을 기울이는지, 그리고 그런 처리 경과가 신고자에게 리포팅 되는지를 그냥 물어본 것이 문의 메일의 전부입니다.

그런데, 답변이 왔네요 가관입니다.

뭐 그 아래 내용은 더 볼 것도 없네요. 일단 네이버의 답변부터 좀 정리해 보겠습니다.

  • 증거를 대라 우리 고객님(?)의 그림이 니껄 카피했다는 정보가 부족하다. [내가 문의 내용에 넣어준 링크는 타 봤냐]
  • 이딴 걸로 징징거리고 싶으면 니 신원 확실히 까고, 정식으로 신고해라. [이럴 줄 알았다만, 내가 물은 건 이게 아니거든]
  • 그냥 법이라니까. 까라면 까. [니들을 까줄까 고민중이다]

이런 내용이네요. 어처구니가 하늘로 솟아 돌아올 기미가 보이지 않습니다. 제가 보낸 문의 내용에서 일부 단어만 추출해서 그냥 적당한 답변을 붙여넣기 했음에 그지 없군요. 심지어 해당 이미지가 게재된 제 블로그의 포스팅은 무려 ‘강좌’ 이며, 어떻게 최종 이미지를 만들어내는지에 대한 과정까지 소상히 밝히고 있습니다. 근데 제가 원본이 아니라니요! ‘도식화’로 검색하면 해당 포스트는 2007년에 작성됐다고 뜬단 말입니다, 이 개같은 님들아. 이런 거 찌질하게 퍼다나르는 네이버 이용자도 정말 싫지만, 외부 포스팅에 대한 저작권은 발톱의 때만큼도 못하게 생각하는 네이버의 작태는 무척이나 가증스럽습니다. 그런 주제에 웹툰까지 동원해서 저작권을 알린다고 호들갑을 떨었던 거군요. 네이버 고객센터 직원들이나 좀 똑바로 교육시켰으면 좋겠습니다. 네이버가 이 포스팅을 보게될 가능성은 매우 희박합니다만, 개인적으로 한 두 번 더 찔러보고 정식으로 절차 밟아서 신고하든가 해야겠습니다.

그건 그렇다치고, 어떡하나 볼려고 보낸 문의에 대해 읽어보지도 않고 답변하는 고객센터는 정말 용자스럽습니다. 자기가 무슨 공무원이나 되는 줄 아시나봐요.

p.s. 위 스크린샷에는 답변을 준 상담원의 이름이 들어있습니다만, 걍 놔둘랍니다. 스크립트가 랜덤하게 입력하는 이름이 아니라는 보장도 없고, 어차피 해당 답변도 ‘고객센터’ 이름으로 왔기 때문에 불만을 저 분께 토로할 방법도 없거든요.

20090623 :: 국회의원 나경원 국회의원직 박탈 청원 4일만에 달성

언어의 마술사

대선 당시, ‘BBK를 설립했다고 말한 것은 맞지만 주어가 없어서 무효’라는 주장을 펴 일약 스타덤에 오르고 또 물론 그 이후로 국민들과 안티팬들의 기대에 걸맞는 언행을 꾸준히하시더니 얼마전에는 화보 촬영으로 또 한 번 화제를 불러 일으킨 나경원 의원. 왠지 이 테크트리는 ‘섹시 댄스 음반 발매’로 이어질 거 같은 불길한 예감도 듭니다. 어쨌든 나경원 의원은 얼마전 CBS 라디오에 출연하여 미디어 법안 관련한 1문 1답에서 “국회의원들도 어려워하는데, 국민들 여론 물어봤자 어따 쓰냐’는 요지의 발언을 해서 스스로의 대국민 의식 수준을 만천하에 공개하는 실수를 저지르고 맙니다. 그러니까 쉽게 말하면 ‘뽑힌 건 내가 잘나서 그런 거고 너네는 고맙기 보다는 그냥 병진 호구 후훗’이라는 평소의 생각이 언어의 마술사다운 매우 부드럽고 완곡한 언변을 통해 방송 전파를 타고 만 것이었죠.

이에 발끈한 한 네티즌이 나경원 의원의 18대 총선 당선 득표수를 목표로 6월 18일부터 6월 30일까지 국회 의원직 박탈 청원을 내걸었습니다. 역시 연예인 못지 않은 관심과 인기를 누리는 나의원이라 그런지 23일 오늘 오전 단 5일만에 목표 서명수를 초과하여 달성하는 기염을 토해내고 있군요.

대단합니다.

p.s. 우리 나라는 지방 의원까지만 ‘주민 소환제’를 통해 끌어내릴 수 있는 제도가 있고 국회의원은 안되는군요. 음.. 국내 도입이 시급합니다.