<그림으로 배우는 클라우드 인프라와 API의 구조> 를 읽고 새롭게 배우게 된 점을 정리해보았습니다.
URI (Uniform Resource Identifier) 은 API에서 리소스를 지정할 때 사용하는 식별자이다.
URL은 URI 안에 포함되어 있는 개념으로, 흔히 웹 주소라고도 하며, 컴퓨터 네트워크 상에 리소스가 어디에 위치해 있는지 알려주기 위한 규약이다.
URN역시 URI 안에 포함되어 있는 개념으로 네트워크와 상관없이 내부 기능에 필요한 리소스를 가리키는데 사용된다. -> 하지만 아직 널리 채택되어 사용되지는 않음
URL (Uniform Resource Locator) 은 이름 그대로 네트워크상에 있는 리소스의 위치를 알려줄 때 사용
URL은 다음과 같이 네트워크 부분과 경로 부분으로 구성된다.
네트워크 부분은 스키마명(프로토콜), 인증 정보, FQDN, 포트번호로 구성된다.
프로토콜은 주로 HTTP/HTTPS를 많이 사용한다.
FQDN (Fully Qualified Domain Name) 은 도메인과 호스트명이 하나로 연결된 전체 이름을 뜻하며 이 FQDN을 통해 네트워크 상의 수 많은 호스트들 중 원하는 하나를 지정할 수 있게 된다.
포트번호는 기본적으로 프로토콜을 따르나, 만약 특정 포트를 사용하기 원하는 경우 명시를 하면 된다.
경로 부분은 보통 디렉터리 경로와 파일 이름이 사용되는데 쿼리 파라미터나 프래그먼트 식별자 (fragment identifier) 등을 추가하기도 한다.
쿼리 파라미터는 조건을 지정할 때 사용하며/?q="내용"
과 같은 형태로 사용한다.
프래그먼트 식별자는 웹 페이지의 내용이 길어질 때 #
문자를 사용하여 웹 페이지의 내용 중에서 특정 위치로 이동할 수 있게 한다.
URN (Uniform Resource Name) 은 네트워크와 상관없이 리소스의 이름을 BNF 표기법으로 정의한 것이다
URN을 활용한 대표적인 예로는 AWS의 ARN (Amazon Resource Name) 이나 리소스 프로퍼티 타입 등이 있다.
URL이 API를 호출할 때 네트워크상에 있는 리소스를 가리키는데 사용되었다면 URN은 네트워크와 상관없이 내부 기능에 필요한 리소스를 가리키는데 사용