네트워크 - URL, URI, URN
⭐️ URL, URI, URN이 뭔데요?
네트워크를 공부하기 시작했다면 금방 만나볼 수 있는 친구들.
우리가 흔히 사용하는 www.naver.com , www.youtube.com -->URL 이다.
그래서 URI는 뭐고 URL, URN은 무엇인지 알아보자.
우선, 그림으로 전체적인 형태를 살펴보자.
URN과 URL은 URI의 하위 개념이다.
💫 URI (Uniform Resource Identifier)
- 인터넷에서 자원을 식별하고 위치를 지정하는 중요한 도구로 사용된다.
- 웹 브라우저를 통해 웹 페이지에 접근 하거나, API 요청을 보내거나 파일에 접근하는 등의 다양한 용도로 사용된다.
- URL(데이터가 어디에 있는가?) + URN (데이터의 이름은 무엇인가) = URL(ABC는 어디에 있다) --> 주소
💫 URL (Uniform Resource Locator)
- 콘텐츠를 구성하는 리소스(자원)의 구체적인 위치를 나타낸다.
- 콘텐츠가 어디에 있는지를 알려준다.
- Ex) www.naver.com / www.youtube.com --> URL
💫 URN (Uniform Resource Name)
- 콘텐츠를 구성하는 리소스(자원)의 독립적인 이름이다.
- 콘텐츠의 리소스가 변하더라도, 이 이름이 변하지 않으면 작동에 문제 없다.
- 그러나 잘 안쓰인다.
🌙 URI가 가장 상위 개념이기 때문에 URI는 URL이라는 말은 모순이지만
"URL, URN은 URI다." 라는 말은 맞는 말이다.
💫 URI 구성요소들
URI는 다음과 같은 구성 요소와 형식을 가지고 있습니다.
1. Scheme : URI의 가장 첫 번째 구성 요소로, 리소스에 접근하기 위해 사용되는 프로토콜을 지정한다.
예를 들어, "http", "https", "ftp" 등이 해당된다.
2. 인증 정보 (Authentication Information) : 일부 리소스에 접근하기 위해 사용자 이름과 비밀번호 같은
인증 정보가 필요한 경우, URI에 인증 정보를 포함할 수 있다. 일반적으로 "사용자이름:비밀번호@"의 형식이다.
3. 호스트 (Host) : 리소스가 호스팅되는 서버의 도메인 이름이나 IP 주소를 지정한다. 호스트는 Scheme 다음에 나타나며,
일반적으로 "www.example.com"과 같은 형식이다.
4. 포트(Port) : 리소스에 접근하기 위해 사용되는 포트 번호를 지정한다. 포트 번호는 호스트 주소 다음에 ":" 으로
구분하여 지정한다. 예를 들어, "www.example.com:8080"과 같은 형식이다.
5. 경로(Path) : 서버에서 식별하려는 리소스의 경로를 지정한다. 경로는 Scheme, 호스트, 포트 다음에 "/"로
구분하여 지정한다. 예를 들어, "/path/to/resource"와 같은 형식이다.
6. 쿼리 문자열(Query String) : 선택적으로 사용되며, 추가 매개변수를 전달하기 위해 URI에 포함될 수 있다.
쿼리 문자열은 경로 다음에 "?"으로 표시되고, "key=value" 형식으로 매개변수가 지정된다.
여러 매개변수가 있는 경우 "&"로 구분된다. 예를 들어, "/search?q=keyword&page=1"
HTTP 프로토콜을 알고 있다면, GET 방식에서 사용되는 것을 알 수 있다.
7. 프래그먼트 식별자(Fragment Identifier) : URI 내의 특정 부분이나 위치를 식별하는 데 사용한다. 프래그먼트 식별자는 경로 또는 쿼리 문자열 다음에 "#"으로 표시된다. 예를 들어, "/page#section1"과 같은 형식이다.