URL - Unifrom Resource Locator
웹 브라우저 등으로 웹 페이지를 표시하기 위해 입력하는 주소이다.
특정 리소스의 위치를 지정한다.
예를 들면, "https://www.example.com/index.html"과 같은 인터넷 주소가 URL에 해당된다.
URI - Uniform Resource Identifiers
URI는 리소스를 고유하게 식별하기 위해 사용되며, 이를 가능하게 하는 두 가지 주요 서브 타입은 URL(Uniform Resource Locator)과 URN입니다.
*URN (Uniform Resource Name): 리소스의 이름을 지정하며, 리소스의 위치에 독립적입니다. 예를 들어, "urn:isbn:0451450523"은 ISBN(국제 표준 도서 번호)을 식별하는 URN입니다.
Uniform
통일된 서식을 결정하는 것으로 여러 가지 종류의 리소스 지정 방법을 같은 맥락에서 구별없이 취급할 수 있게 된다.
새로운 스키마 도입을 용이하게 한다.
Resource
리소스는 식별 가능한 모든 것으로 도큐먼트 파일뿐만 아니라 이미지와 서비스 등 다른 것과 구별할 수 있는 것은 모두 리소스이다. 단일 부분만 아니라 복수의 집합도 리소스로 파악할 수 있다.
Identifier
식별 가능한 것을 참조하는 오브젝트이고 식별자로 불린다.
URI는 스키마를 나타내는 리소스를 식별하기 위한 식별자이다. 스키마는 리소스를 얻기 위한 수단에 이름을 붙이는 방법이다.
URI 스키마
인터넷 상의 자원 관리 등을 하는 비영리 법인 ICANN 산하 조직인 IANA에 등록되어 있고 30개 정도 있다.
*URL와 URI 차이
URI는 리소스를 식별하기 위해 문자열 전반을 나타내는데 비해 URL은 리소스의 장소(네트워크 상의 위치)를 나타낸다. URL은 URL의 서브셋이다.
URL 포맷
포맷으로는 필요한 정보 전체를 지정하는 완전 수식 절대 URI, 완전 수식 절대 URL
브라우저 중의 기준 URI에서 상대적 위치를 */image/log.gif 와 같이 지정하는 상대 URL이 있다.
절대 URI 포맷
http:// user:pass @ www.example.jp :80/ dir/index.htm ? uid=1 # ch1
스키마 자격정보 서버주소 서버포트 계층적 쿼리 프래그먼트
(크레덴셜) 파일패스 문자열 식별자
- 스키마 : 'http:'와 'https:' 같은 스키마를 사용하여 리소스를 얻기 위해 사용하는 프로토콜을 지시한다. 대문자와 소문자는 무시되고 마지막에 콜론(:)이 하나 붙는다. 'data:'와 'javascript:' 같이 데이터와 프로그램을 지정할 수도 있다.
- 자격정보(크리덴셜) : 서버로부터 리소스를 취득하려면 자격정보가 필요하다. 유저명과 패스워드를 지정할 수 있다. 이것은 옵션이다.
- 서버주소 : 완전 수식 형식인 URI에서는 서버 주소를 지정할 필요가 있다. 'www.example.jp '와 같은 DNS 이름이나 '192.168.1.1'과 같은 IPv4 주소나 IPv6주소를 대괄호로 묶어서 지정한다.
- 서버포트 : 서버의 접속 대상이 되는 포트 번호이다. 옵션이며 생략 시 디폴트 포트가 사용된다.
- HTTP (HyperText Transfer Protocol): 80번 포트
- HTTPS (HTTP Secure): 443번 포트
- FTP (File Transfer Protocol): 21번 포트
- SSH (Secure Shell): 22번 포트
- SMTP (Simple Mail Transfer Protocol): 25번 포트
- POP3 (Post Office Protocol version 3): 110번 포트
- IMAP (Internet Message Access Protocol): 143번 포트
- DNS (Domain Name System): 53번 포트
- 계층적 파일 패스 : 특정 리소스를 식별하기 위해서 서버 상의 파일 패스를 지정한다. UNIX 디렉토리 지정 방법과 비슷하다.
- 쿼리 문자열 : 파일 패스로 지정된 리소스에 임의의 파라미터를 넘겨주기 위해 쿼리 문자열을 사용한다. 이것은 옵션이다.
- 프래그멘트 식별자 : 주로 취득한 리소스에서 서브리소스를 가리키기 위해 프래그멘트 식별자가 사용되고 이것은 옵션이다.
댓글