20100122 : : 인터넷 주소 ( url ) 은 대소문자 를 구분 할까 ? · Wireframe 
 20100122 : : 인터넷 주소 ( url ) 은 대소문자 를 구분 할까 ? 
 인터넷 주소 입력 창 에 입력 하 는 인터넷 주소 . 인터넷 주소 는 과연 대소문자 를 구분 할까요 ? 
 딱히 집 어서 그렇 다 , 아니 다를 구분 할 수 가 없 습니다 . 특정 웹 문서 의 인터넷 상 의 주소 를 우리 는 URL 이 라고 합니다 . 이 URL 의 구성 을 먼저 살펴보 도록 하 지요 . 
 http : // -> 서버 로부터 웹 문서 정보 ( html ) 와 이미지 등 의 리소스 를 받 아 올 프로토콜 입니다 . 프로토콜 은 데이터 를 어떤 순서 로 넘겨 주 는 방식 을 미리 정해 놓 은 것 이 라 생각 하 시 면 됩니다 . 
 www . myservice . com / -> 서버 의 도메인 네임 입니다 . 인터넷 에 물려 있 는 컴퓨터 들 은 고유 의 주소 인 ip 를 가지 고 있 습니다 . 하 지만 ip 는 숫자 로 구성 되 어 사람 이 기억 하 기 힘드 므로 , 도메인 네임 을 부여 하 여 구분 및 기억 을 쉽 게 하 도록 합니다 . 우리 는 흔히 이런 도메인 까지 만 주소창 에 입력 하 여 웹 사이트 로 접근 하 곤 합니다 . 
 / somepage . jsp -> 해당 서버 내 의 특정 파일 위치 입니다 . 해당 서버 의 웹 서버 가 서비스 를 제공 하 는 디렉터리 혹은 그 하위 디렉터리 어딘가 에 는 저 이름 의 파일 이 존재 합니다 . 
 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 같 은 경우 에 는 대소문자 를 구분 하 지 않 으므로 상관 없 습니다 . 
 따라서 오늘 의 궁금증 에 대한 결론 을 정리 해 보 자면 
 도메인 주소 명 은 대소문자 를 구분 하 지 않 는다 . 
 디렉터리 명 이하 의 주소 는 서버 의 운영 체제 에 따라 다르 다 . 윈도 서버 는 대소문자 를 구분 하 지 않 지만 , 리눅스 나 유닉스 계열 의 서버 는 대소문자 를 구분 한다 . 
 매개 변수 명 은 웹 서비스 를 구성 한 스크립트 언어 특성 에 따른다 . asp 를 제외 한 대부분 의 서버 사이드 스크립트 는 대소문자 를 구분 하 는 편 이 다 . 
 결국 MS 제품 들 은 거의 대소문자 를 구분 하 지 않 는 것 으로 나타나 네요 . 뭐 그렇 다고 해서 그것 이 반드시 편하 고 좋 다는 이야기 는 아닙니다 . 그저 제 가 궁금 해서 이래 저래 조사 해 본 내용 이 고 , 별 영양가 는 없 는 포스팅 이 되 어 버렸 네요 . ㅠㅠ 
 작성 일자 2010 - 01 - 22 2010 - 01 - 25 글쓴이 카테고리 21 세기 소년 , 분류 할 수 없 는 
 이전 이전 글 : 20100121 : : 누워서 몇 가지 
 다음 다음 글 : 20100123 : : 인터넷 상 에서 만날 수 있 는 위협 들 – 1