반응형
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'로 변환된다.
반응형
'CS' 카테고리의 다른 글
[CS] 프로세스와 스레드 / 프로세스 구조 및 상태 / 싱글 스레드와 멀티 스레드 (0) | 2023.12.06 |
---|---|
[CS] 웹 프락시 / Proxy (0) | 2023.09.20 |
[CS] HTTP 메시지 (0) | 2023.08.30 |
[CS] Web Cache / 웹 캐시란? (0) | 2023.08.23 |