[Web] URL

2024. 7. 31. 01:35개발 지식/Basic

 일상생활에서 우편물을 배송하기 위해서 '주소' 라는 것이 사용되는데, 인터넷상에서도 정보에 접근하기 위해서 '주소' 를 사용한다. 이 때 사용되는 주소를 'URL' 이라 하며, 'Web' 에서 사용되는 주요 기능이므로 한 번 알아보도록 하자.

 

1. URL

 'URL(Uniform Resource Locator)' 은 'web adderss(웹 주소)' 로도 불리며, 네트워크 상에서 리소스(자원)의 위치를 지정하고 알리기 위한 '규약' 이다.

 

 정식 명칭을 직역해보면 '동일 표준의 자원 위치설정기(자)' 인데, '자원의 위치를 설정(표현)하는 표준' 이란 의미로 해석할 수 있었다. 아마 자원의 위치를 같은 방식으로 표현하므로서 자원 접근에 용이하도록 생긴 기술이고, 해당 의미를 담기 위해 지어진 명칭이 아닐까 생각하였다.

 

 많은 사람들이 'URL' 이라 하면 '웹 사이트 주소' 만을 떠올리지만, 사실 'URL' 은 웹 사이트 주소 뿐만 아니라 컴퓨터 네트워크 상의 모든 자원을 나타낼 수 있다.

 

 또한 리소스에 접근하기 위해서 해당 'URL' 의 프로토콜과 동일한 프로토콜을 사용하는 프로그램을 사용해 접근해야 한다. 한 가지 예시로 'HTTP' 를 사용한다면 '웹 브라우저' 를 사용해야 한다.

 

 

2. 표현방법

2.1. 일반적인 인터넷 스키마 구문

scheme://<user>:<password>@<host>:<port>/<url-path>
  • scheme(스키마) : 접근 방법을 정의한 프로토콜의 이름(http, telnet, ftp 등)이 위치하며, 다음에 오는 ' : ' 은 프로토콜 이름을 구분하기 위해 사용된다.
  • // : IP 혹은 Domain name 정보가 필요한 프로토콜(http, ftp 등)일 경우 사용되는 시작 구문이며, 일반적인 인터넷 스키마 구문을 준수한다는 의미도 가지고 있다.
  • <user> : 사용자명으로 선택적 옵션이다. 일부 프로토콜(ftp)에서 허용한다.
  • <password> : 비밀번호로 선택적 옵션이다. 해당 옵션이 존재하는 경우 사용자명 뒤에 ' : ' 으로 구분해 입력한다.
  • @ : 사용자명(및 비밀번호)이 있다면, 사용한다.
  • <host> : 정규화된 도메인명 또는 호스트의 IP 주소
  • <port> : 연결할 포트 번호, 대부분의 경우 기본 포트 번호가 있는 프로토콜을 사용하기에 생략이 가능하다. 생략될 경우 앞의 ' : ' 도 생략하며, 만약 기본 포트 번호를 사용하지 않고 십진수의 다른 포트를 사용 할 경우 호스트와 구분하기 위해 ' : ' 를 앞에 적어준다.
  • <url-path> : url 경로로 스키마에 따라 특정한 데이터로 구성된다. 앞에 적는 ' / ' 는 url 경로의 일부가 아닌 구분자로서 사용된다.

※ 참고 : '<user>:<password>@', ':<password>', ':<port>', '/<url-path>' 부분의 경우 전체 또는 일부가 생략될 수 있다.

 

 'URL' 의 경우 'scheme(스키마)' 에 따라 표현방법이 달라진다. 일단 'Web' 에 대해 알아가는 중이므로, 'HTTP URL' 에 대해서 좀 더 자세히 알아보자.

 

2.2. HTTP URL scheme

http://<host>:<port>/<path>?<searchpart>
  • '2.1.' 에서의 의미와 같은 의미를 가지며 사용되며, 사용자명(user)과 비밀번호(password)는 허용되지 않는다.
  • <port> : 생략된 경우, 포트 번호의 기본 값은 80 이다.
  • <path> : 파일의 경로를 가리키며, ' / ' 를 사용해 호스트 IP 또는 도메인명과 구분한다.
  • <searchpart> : 검색파트로 쿼리 문자열이다. 접근 정보에 대한 검색 조건으로 보면 된다.

※ 참고 : '<path>?<searchpart>' 부분의 경우 전체 또는 일부가 생략될 수 있다. '<searchpart>' 가 생략되면 '?' 또한 생략할 수 있으며, 전체가 생략되면 앞의 ' / ' 또한 생략할 수 있다.


참고 문서

'개발 지식 > Basic' 카테고리의 다른 글

[Web] HTML  (0) 2024.07.31
[Web] HTTP  (0) 2024.07.31
[Web] 하이퍼링크  (0) 2024.07.30
[Web] 하이퍼텍스트  (0) 2024.07.30
[Web] 웹과 인터넷  (0) 2024.07.30