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을 인코딩 및 디코딩할 수 있습니다.