URL은 Uniform Resource Locator
(통일된 자원 위치 지정자)의 약자로, 인터넷 상의 자원 위치를 표시하는 데 사용됩니다.
URL의 형식은 scheme:[//authority]path[?query][#fragment]
로, 여기서 authority = [userinfo@]host[:port]
입니다.
scheme
- 프로토콜을 나타내며, http 또는 ftp와 같이 필수로 채워야 합니다userinfo
- 사용자 정보로 권한 검증에 사용되며, username:password 형식이며 선택적입니다host
- 호스트는 도메인 이름 또는 IP가 될 수 있으며, 필수로 채워야 합니다port
- 포트 번호로, 선택적이며 기본적으로 프로토콜의 기본 포트를 사용합니다path
- 경로는 호스트의 디렉토리 및 파일 주소를 나타냅니다. 선택적입니다query
- 쿼리 매개변수. 선택적입니다fragment
- 조각은 네트워크 자원의 일부를 가리킵니다. 선택적입니다간단한 URL 예시: https://www.codeeeee.com, 여기서 scheme
과 host
만 사용되며, 포트는 https
의 기본 포트 443
을 사용합니다
URI는 Uniform Resource Identifier
(통일된 자원 식별자)의 약자로, 인터넷 자원의 이름을 표시하는 데 사용됩니다. URL과 URI는 형식이 같고 개념적으로 혼동하기 쉽지만, 때때로 동일하게 사용될 수 있습니다. URL과 URI의 차이점은 전자는 자원의 위치를, 후자는 자원의 이름을 나타낸다는 것입니다. URL은 URI의 한 유형입니다.
URL은 ASCII
코드의 문자만 포함할 수 있으므로, 문자 집합 외의 문자가 나타날 때 인코딩이 필요합니다. 동시에, URL에는 :
、/
、&
와 같은 예약 문자가 있으며, 이러한 문자를 만날 때도 인코딩 변환을 수행해 URL의 해석이 혼동되지 않도록 해야 합니다.
URL 인코딩 시 문자는 해당하는 백분율 인코딩(%)으로 표시됩니다. 구체적인 인코딩 규칙은 여기 URL 인코딩에 대한 소개에서 참조할 수 있습니다.
자바스크립트에서는 encodeURIComponent
와 decodeURIComponent
를 사용하여 URL을 인코딩 및 디코딩할 수 있습니다.