[Network] URI, URL, URN의 차이: 완벽하게 이해하기
웹 개발을 하다 보면 주소창에 입력하는 경로를 두고 누구는 URL이라 부르고, 누구는 URI라고 부르는 것을 본 적이 있으실 겁니다. 비슷해 보이지만 엄연히 다른 이 세 가지 개념, 오늘 포스팅으로 확실하게 정리해 보겠습니다.
1. 개념 정의: 누가 누구를 포함하는가?
결론부터 말씀드리면, URI가 가장 큰 개념입니다. 그 안에 URL과 URN이 포함되어 있죠.
- URI (Uniform Resource Identifier): 통합 자원 식별자. 인터넷에 있는 자원을 나타내는 고유한 식별자입니다.
- URL (Uniform Resource Locator): 자원의 위치를 나타냅니다. 해당 자원이 어디에 있는지(경로)를 알려주는 주소입니다.
- URN (Uniform Resource Name): 자원의 이름을 나타냅니다. 위치와 상관없이 자원의 고유한 이름 그 자체를 의미합니다.
2. 비유를 통한 이해 (현실 세계 예시)
기술적인 설명 이전에 우리가 일상에서 쓰는 정보를 예로 들어보겠습니다. '홍길동'이라는 사람을 식별하고 싶다면 어떻게 할까요?
- URI: 홍길동을 식별하기 위한 모든 방법 (이름, 주소 등)
- URL (위치): 서울시 종로구 OO번지 2층에 사는 사람 (이사 가면 바뀜)
- URN (이름): 주민등록번호 950101-1234567 (어디에 살든 평생 고유함)
핵심: URL은 그 자원을 찾아가는 **방법(위치)**에 집중하고, URN은 그 자원이 무엇인지에 대한 **고유성(이름)**에 집중합니다.
3. 구조와 사용 예제
실제 웹 환경에서 어떻게 쓰이는지 살펴보겠습니다.
URL (Locator)
가장 익숙한 형태입니다. 프로토콜(https://)을 포함하여 자원의 경로를 상세히 적습니다.
- 예시: [https://developer.example.com/posts/123](https://developer.example.com/posts/123)
- 특징: 파일의 위치가 바뀌면 URL도 바뀝니다.
URN (Name)
자원의 위치 정보를 담지 않습니다. 영구적이고 독립적인 이름을 가집니다.
- 예시: urn:isbn:9788966263158 (특정 도서의 ISBN 번호)
- 특징: 책이 어느 서점에 있든(위치가 바뀌든) 이 번호는 변하지 않습니다.
URI (Identifier)
위의 두 가지를 모두 포함하는 포괄적인 개념입니다. 최근에는 위치와 상관없이 식별만 가능하다면 URI라고 부르는 추세입니다.
- 식별자 예시 (Query String 포함): [https://example.com/search?q=apple](https://example.com/search?q=apple)
- 여기서 ?q=apple은 실제 파일의 위치가 아니라 서버에 전달하는 파라미터(식별자)이므로, 이 전체는 URL보다는 URI에 더 가깝습니다.
4. 개발자가 알아야 할 차이점 요약
| 구분 | URL | URN |
| 풀네임 | Uniform Resource Locator | Uniform Resource Name |
| 핵심 키워드 | 위치 (Location) | 이름 (Name) |
| 변동성 | 자원이 이동하면 변함 | 위치와 상관없이 변하지 않음 |
| 포함 관계 | URI의 하위 개념 | URI의 하위 개념 |
5. 무엇이라고 불러야 할까?
현업에서는 보통 관습적으로 URL이라는 용어를 가장 많이 사용합니다. 하지만 기술적으로 더 정확하게 표현하자면, 쿼리 스트링(Query String)이나 식별자가 포함된 주소는 URI라고 부르는 것이 맞습니다.
- Tip: 면접이나 기술 토론 중이라면 "URL은 자원의 위치를 나타내고, URI는 그보다 상위 개념으로 자원을 식별하는 모든 수단을 의미합니다"라고 답변하면 전문성을 충분히 보여줄 수 있습니다.
'Programming > Network' 카테고리의 다른 글
| 회선 교환 방식 vs 패킷 교환 방식: 네트워크 전송 방식 비교 및 차이점 (0) | 2025.04.07 |
|---|---|
| 웹사이트 접속 과정과 OSI 7계층 대응표 (0) | 2025.04.03 |
| 웹사이트에 처음 접근할 때 발생하는 과정 (1) | 2025.04.03 |
| Keep Alive: 네트워크 연결을 유지하는 핵심 기술 (1) | 2025.04.02 |
마실개
Writer꾸준함과 꼼꼼함을 목표로