반응형

1. URL이란?

 URL은 Uniform Resource Location의 약자로, 브라우저가 인터넷상의 정보를 찾는데 필요한 리소스(Resource) 위치(Location)를 말하며, 이 정보는 정형화(Uniform)되어 있다. 즉, 문법이 존재한다.

 


 

2. URL 문법

 URL은 일반적으로 9개 컴포넌트로 구성된다. 이 중 가장 중요한 컴포넌트 세가지는 스킴, 호스트, 경로이다.

<스킴>://<사용자 이름>:<비밀번호>@<호스트>:<포트>/<경로>;<파라미터>?<질의>#<프래그먼트>

 

컴포넌트 설명
스킴 리소스를 가져오기위해 사용할 프로토콜을 말한다. (ex. http, https)
사용자 이름 몇몇 스킴은 리소스에 접근하기 위해 사용자 이름을 필요로 한다.
비밀번호 사용자 이름에 대한 비밀번호를 가리킨다.
호스트 리소스를 호스팅하는 서버의 호스트 명이나 IP 주소이다.
포트 리소스를 호스팅하는 서버가 열어놓은 포트번호로 많은 스킴이 기본 포트를 갖는다. (ex. http는 80 포트)
경로 서버 내 리소스가 어디에 있는지를 가리킨다.
파라미터 입력 파라미터를 기술하는 용도로 사용된다. 매트릭스 파라미터 방식이 사용되나, JAX-RS라는 프레임워크만 지원되어 잘 사용되지 않는다.
질의 파라미터를 전달하는데 쓰인다. 이게 우리가 흔히 알고있는 쿼리 스트링이다.
프래그먼트 리소스의 특정부분을 가리키는 이름이며, 리소스 로드 후 특정 부분으로 스크롤을 이동시킨다. 서버에 전달되지 않으며 클라이언트에서만 사용한다. 

 


 

3. URL의 문자제한

 일반적으로 URL에는 ASCII 문자만 포함하도록 허락했다. 하지만 현대의 웹은 다양한 언어와 문자를 지원하기 위해 URL에 비-ASCII 문자도 사용할 수 있게 되었다. 인코딩 + 이스케이프 기능을 사용함으로써 말이다.

 예를들어 한글 '안'의 경우 ASCII 문자가 아니다. '안'을 UTF-8로 인코딩하면 'EC 95 88'이다. 이에 이스케이프 기능을 적용하면 % 기호로 시작하는 ASCII 문자열로 표현되며, 최종적으로 '%EC%95%88'로 변환된다.

 

반응형

+ Recent posts