[Web] Basic Interview Question - Explain URL?
이글은 medium의 Andrew Koenig-Bautista님의 글을 번역한 글입니다.
this article is traslated from the article of Andrew Koenig-Baustista on Medium.(https://medium.com/@andrewkoenigbautista)
URL의 각 요소를 분석해 봅시다!!!
URL이란 URL은 Uniform Resource Locator의 앞 글자를 따와서 만든 단어입니다. URL은 s웹에서 특정한 위치를 알려주고 또한 브라우져가 어느 특정 위치에 있는 리소스를 찾을 수 있게 도와주는 도구 입니다. URL들은 일반적으로 도로명 주소와 비교되곤 합니다. URL의 각 요소는 다른 주소와 정보를 나타냅니다. 아래의 URL 예시를 통해서 자세히 살펴 봅시다.
https://www.pickles.com:80/pickles/index.html?type=sweet&size=small#Summertime_Sweet_Pickles
Scheme
http://
은 Scheme입니다. 이것은 브라우져가 URL에서 정보를 요청할 때 반드시 사용해야하는 프로토콜을 확인 시켜줍니다.(여기서 프로토콜이란, 인터넷에서 정보를 보낼 때 따라야 규칙 혹은 규격입니다.) 많은 종류의 scheme이 존재합니다. 그러나 http(ssl이 없는)와 https(보안상 중요한 정보에 사용되는 http의 보안버전입니다.)가 가장 일반적입니다. 콜론: scheme operator이며 forward slashes // 도메인 이름을 시작케 해줍니다.
domain 이름
www.pickles.com
: 이것은 domain 이름 입니다. domain 이름은 의도된 호스트(intended host)나 요청받은 웹서버를 나타냅니다.
a period로 나누어진 각 호스트 이름의 요소는 하나의 domain입니다. 오른쪽의 (.com
)은 domain 접미사 혹은 최상위 domain이고, 왼쪽의 (www.
)은 둘째 상위 domain 혹은 서브 domain입니다. 그리고 domain 접미사는 .org, .net 도는 특정한 목적이나 지역에 따른 .gov .au와 같이 다양합니다.
port(포트)
:80
이것은 포트입니다. 포트는 요청된 웹서버에서 리소스에 접근하기 위해서 사용되는 gate를 나타냅니다.브라우저가 서버에 접속할 때, 일반적으로 잘 알려진(well-known) 포트 번호를 사용합니다. 잘 알려진 포트번호는 인터넷 프로토콜에 할당됩니다. 예를 들면, HTTP의 기본적인 포트번호는 80(HTTPS는 443)입니다. 일반적인 포트번호가 사용중일때는, URL의 이 영역은 생략 됩니다.(자주 있는 일입니다.) 그렇지 않으면 포트번호는 반드시 포합되어야 하며, 이때 콜론을 분리자로 사용합니다.
Path
/pickles/index.html
이것은 path입니다. path는 브라우저가 접속하고자 하는 서버상의 특정 리소스로의 경로입니다. 여기서 forword slash들은 URL 계층 구조를 만들어주는 분리자 역할을 합니다.
Query String
?type=sweet&size=small
이것은 쿼리 스트링입니다. 쿼리 스트링은 항상 ?마크로 시작하고 서버가 특정한 정보를 리턴해줄 수 있도록 하는 하나 혹은 그 이상의 파라메터가 따라옵니다.파라메터는 key/value 페어이며, &로 분리됩니다. 모든 웹 서버는 스스로 정한 방식에 따라서 파라메터를 핸들링합니다.
Anchor
#Summertime_Sweet_Pickles
이것은 anchor라고 불리우는 부분입니다. 또한 fragment identifier라고 알려져 있습니다. 이 부분은 항상 #으로 시작하고 텍스트가 따라옵니다.이 부분은 웹 페이지에서 URL을 ‘닻을 내리는 것(고정)’을 하는 것처럼 사용자가 방문할 특정 위치를 나타냅니다. 만약 URL HTML페이지를 검색하면, fragment identifier는 서브 섹션의 연관 ID를 사용해서 페이지의 서브 섹션을 나타냅니다.
Putting It All Together
모든 URL이 위에서 언급한 모든 것을 포함하지는 않습니다. 그러나 함께 URL의 핵심 요소를 구성합니다. 적절한 라벨링을 사용하면, 다음과 같이 URL을 시각화 할 수 있습니다.
scheme://domain:port/path?query=string#anchor
다른 컴포넌트와 룰이 존재하기는 하나, 이것이 당신이 가장 흔히 볼 수 있는 URL의 컴포넌트 입니다. 여러분은 꼭 설명할 수 있어야 합니다. 굳 인터뷰 보세요!!
Leave a comment