02-http URL
URL(Uniform Resource Locator)은 인터넷 리소스를 가리키는 표준이름입니다. URL은 브라우저를 통해 정보를 찾는데 필요한 모든것을 제공하며, 원하는 리소스가 어디에 위치하고 어떻게 가져오는지를 정의합니다.
URL 문법
URL문법은 스킴에 따라서 달라집니다. 그러나 그것이 전혀 다른 문법을 사용한다는 의미는 아닙니다. 대부분의 URL은 일반 URL 문법을 따르며(스킴://서버위치/경로
), 특성상 일부의 차이가 존재합니다.
<스킴>://<사용자이름>:<비밀번호>@<호스트>:<포트>/<경로>;<파라미터>?<질의>#<프래그먼트>
http
http://<호스트>:<포트>/<경로>?<질의>#<프래그먼트>
http://www.naver.com:80
이름과 비밀번호가 존재하지 않는것을 제외하면 일반적인 URL 규칙을 따릅니다. 포트는 명시하지 않으면 기본으로 80
으로 인식합니다.
https
https://<호스트>:<포트>/<경로>?<질의>#<프래그먼트>
https://www.naver.com:80
https와 http의 URL 문법은 스킴을 제외하고 완벽하게 동일합니다. 포트는 기본적으로 443
을 사용합니다.
mailto
mailto:<email-address>
mailto:hahava@github.com
mailto는 이메일 주소를 가르킵니다.
ftp
ftp://<사용자 이름>:<비밀번호>@<호스트>:<포트>/<경로>:<파라미터>
ftp://hahava:1234@github.com:21/images/me.png
FTP(File Transfer Protocol)URL은 ftp 서버에 있는 파일 관련 리소스를 처리하며 일반적인 URL 형태를 갖습니다. 기본적으로 21
포트를 사용합니다.
이 외 다양한 프로토클은 위키피디아_url_protocol_list 에서 찾을 수 있습니다.
인코딩쳬계
일반적으로 많은 컴퓨터 시스템에선 7비트를 사용하는 US-ASCII를 문자열로 사용해왔습니다. 그러나 URL 설계자들은 URL에 이스케이프 문자열을 사용할 수 있게하여 이동성과 완성도를 높였습니다.
URL에 혼동을 줄 수 있는 안전하지 않은 문자열을 처리하기 위해 특정한 인코딩 방식이 고안되었습니다. 인코딩은 안전하지 않은 문자를 퍼센티지%
기호로 시작해, ASCII 코드로 표현되는 두 개의 16진수 숫자로 이루어진 이스케이프 문자로 변경합니다.
문자별 인코딩은 위키_URL_Encode 에서 확인할 수 있습니다.
일반적으로 사용자가 웹 브라우저를 통해 URL을 입력하면, 대부분의 웹 브라우저에선 안전하지 않은 문자열들을 자동으로 변환해줍니다. 만약 코드 상에서 사용한다면 아래와 같은 형태로 변환하여 사용할 수 있습니다.
const baseUrl = 'http://hahava.com';
const params = `language=${encodeURIComponent("c++")}`
const url = `${baseUrl}?${params}`
위와 같은경우 url의 변수의 값은 http://hahava.com?language=c%2B%2B
의 형태로 저장됩니다.
댓글남기기