본문 바로가기
Back-end

URL 이란?? URL 이해하기!

by kkkdh 2022. 9. 3.
728x90

URL은 Uniform Resource Locator의 약자로 웹 상에서 특정한 자원에 대한 주소에 불과합니다. 여기서 말하는 특정 자원은 HTML 페이지, CSS 문서, 이미지 등..이 포함됩니다.

 

URL에 의해 제공되는 자원들URL 자체Web server에서 처리되므로 해당 리소스와 관련된 URL을 신중하게 관리하는 것이 웹 서버 소유자의 역할입니다.

 

< URL examples >

https://developer.mozilla.org
https://developer.mozilla.org/en-US/docs/Learn/
https://developer.mozilla.org/en-US/search?q=URL

URL의 구성

이미지 출처:&nbsp;https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_is_a_URL

URL은 몇가지 필수적 사항과 선택적 사항들로 구성됩니다. 

 

  • Scheme
  • Domain Name
  • Port
  • Path to the file
  • Parameters
  • Anchor

Scheme

URL의 첫 번째 요소는 scheme입니다. scheme은 브라우저가 자원을 요청하기 위해 사용해야 하는 protocol을 지칭합니다. 

 

protocol은 컴퓨터 네트워크 상에서 데이터를 주고받기 위한 방법 및 규약이라고 간단히 이해하고 넘어가겠습니다.

 

그렇기 때문에, 위 그림 상에서는 http라는 protocol을 브라우저에서 자원 요청에 사용하고 있기 때문에, http라고 scheme에 작성된 것을 확인할 수 있습니다!


Authority (Domain Name + Port)

다음 부분은 authority 파트입니다. 앞서 설명한 scheme 부분과는 "://" 문자 패턴으로 구분되며, 도메인 이름과 포트 번호를 포함하고 있습니다.

 

여기서 domain name과  port가 지칭하는 바는 다음과 같이 정리할 수 있습니다.

 

Domain Name: 요청이 전달되는 web server를 가리키며, IP address로도 표현이 가능합니다.

Port Number: 포트 번호는 도메인 이름에 해당하는 web server에서 자원에 접근하기 위한 기술적 "gate"를 가리킵니다. 일반적으로 web server는 well-known port number (HTTP: 80, HTTPS: 443)를 사용하기 때문에 기입을 생략합니다.

 

여기서 구분자 (://) 중 콜론 구분자(:)는 URL의 scheme다음 part와 구분하는 역할을 수행하며, "//" 두 개의 슬래쉬는 URL의 다음 part가 authority임을 표현한다고 합니다.

 

URL에서 authority part를 사용하지 않는 경우를 한 가지 예로 들면 mail client(mail to:foobar)가 있습니다. mail client의 url은 scheme은 존재하지만, authority는 생략된다고 합니다. 

 

따라서 ':'만 작성이 되며, 두 개의 슬래쉬(//)는 뒤따르지 않고, 메일 주소에 대한 url이 작성된다고 합니다.


Path to resources

이 부분은 web server 내에서의 경로를 표현하는 part입니다.

  1.  

초기 Web에서는 path가 Web server 내의 물리적인 파일 경로를 표현했으나, 요즈음에는 물리적인 실체 없이 Web server에 의해 추상적으로 다뤄진다고 합니다.

 


Parameters

Parameters part는 URL을 통해 Web server에 제공되는 부가적인 인자들 입니다. key / value 쌍& symbol을 구분자로 사용해 연속적으로 작성하며, Web server에서는 전달된 parameters를 이용해 부가적인 작업을 처리할 수 있습니다. 


Anchor

Anchor 파트는 리소스 내부에서 일종의 "북마크" 역할을 수행하며, 브라우저 내에서 "북마크 된" 지점에 위치한 콘텐츠를 표시하기 위해서 사용됩니다.

 

HTML 페이지에서는 북마크 된 위치로 스크롤하여 페이지를 보여줄 수 있고, video나 audio 문서에서는 anchor가 표시하고 있는 지점으로 이동하기 위해 사용된다고 합니다.

 

#뒤의 부분fragment identifier라고도 부르는데, 이 부분은 request와 함께 Web server에 전송되지 않는다고 합니다.

 

아래의 내용은 추후의 글에서 추가적으로 정리해 보겠습니다! 😀

절대 URL vs 상대 URL

Semantic URL


References

MDN URL 개념 정리 문서

 

 

 

728x90

댓글