[Web] URI, URL, URN

업데이트:



시작하며


안녕하세요~! 벌써 6월입니다. 시간은 왜 이렇게 빨리 갈까요? 🧐 (연구대상,,)

올해는 특히나 눈을 깜빡이면, 달이 바뀌는거 같습니다.

오늘 아침은 생각보다 너무 일찍 회사에 도착해서, 스타벅스에서 커피샌드위치 를 샀습니다.

자주 있는 일은 아니고, 마침 쿠폰 유효기간이 다 되기도 했고

⭐️ 제 자신⭐️ 에게 한 번씩 여유를 주는 것도 좋으니까요 ㅎㅎㅎㅎ


오늘은 쉬어가는 타임으로 URI, URL, URN 에 대해서 짤막하게 포스팅하고,
끝에 마크다운 팁 을 드리려고 합니다 :)



URI, URL, URN의 서막


URN까지는 모르겠지만 ‘URIURL 의 차이’ 에 대한 이야기는 종종 보게 됩니다.

구체적인 내용에 앞서, 이들의 포함관계부터 살펴 봅시다.


image



저는 이걸 보면서, ’ 애매하다 싶으면 URI 라고 하면 되겠다 ‘ 라고 생각했습니다.

왜냐하면, 이들에 대해서 제가 처음에 궁금했던 것도,
‘이걸 URI라고 해야되나, URL이라고 해야되나’ 이었기 때문입니다!

…😅

조금 더 이야기를 해보겠습니다.



URI


위에서 보신 것처럼, 가장 넓은 범위의 URI(Uniform Resource Identifier)

자원을 식별하는 유일한 주소

입니다. 그리고 리소스를 어떻게 식별하는가 에 따라, URL(리소스 위치)URN(리소스 이름) 으로 나뉘는 것이지요.


일반적으로 많이 사용되는, URI 구조 를 본다면, 다음과 같습니다.

<protocol>://<host>:<port>/<path>?<query_string>#<fragment>

예시를 볼까요?

  • protocol : https
  • host : osj3474.github.io
  • port : 443
  • path : web/uriurlurn
  • query_string : id=HTML&page=12
  • fragment : 시작하며

=> URI예시 (query_string제외)

(다음에 등장할 URL 은, URI의 #<fragment> 를 뺀 것과 같다고 할 수 있습니다.)



URL


다음으로, URL(Uniform Resource Locator)

네트워크 상에서 리소스의 위치

입니다. 이때, 네트워크 접속을 위해, ‘프로토콜’‘호스트(IP)’ 를 명시해야 합니다.

<protocol>://<host>:<port>/<path>?<query_string>

(port, path, query_string은 옵션입니다!)




URN


URN은

리소스의 이름으로 식별

하는 웹 공부를 하면서는 만나보지는 못했습니다. 이정도로만 알고 있으면 되지 않을까 싶습니다.

위키피디아에도 큰 내용이 없네요ㅠ.



Tips


목차 만들기 (내부 링크)

이번 팁은 대단한 건 아니지만, 깃헙에서 마크다운을 이용하시는 분들께 드리는 팁입니다.

최근에 스프링 인강을 들으면서 내용을 정리 하고 있는데요. 한 파일에 내용이 많아지면, 스크롤을 내리고 올리기가 쉽지 않았습니다.

그래서 하이퍼링크가 되는 목차를 만들 필요 를 느꼈고, 인터넷에 좋은 방법이 있었습니다.



오늘의 개발 님 블로그 중에서 –

[목차명](#이동할위치의텍스트)

#이동할위치의텍스트

이동할위치의텍스트에는

  • 영어 -> 소문자
  • 띄어쓰기 -> -

라는 규칙이 있습니다.



그런데, 사실 이것이 이동하는 원리는 URI의 #fragment 가 있기 때문에 가능한 것입니다.

  1. 웹 브라우저는 웹 서버에 리소스를 요청할 때, URI 를 보내게 되는데요. 이 때, #fragment는 보내지 않습니다.

  2. 브라우저가 웹 서버로부터 리소스를 받았다면, 그 때, HTML 안에서 태그로 #fragment를 찾아가는 것입니다.

네! 결국, 서버로부터 해당 페이지를 받아왔다면, 네트워크가 끊기더라도 목차 이동은 아무런 문제가 없습니다. (이런거 찾아내는게 재밌,,😅 )


쉬어가는 타임으로 적기로 했는데, 너무 길어졌네요ㅠ. 빨리 팁을 전하고 글을 마칩니다.📡

깃헙 마크다운에서는 더 편하게 하는 방법이 있습니다. 바로 클립 모양을 클릭하면, fragment가 자동으로 붙습니다.

image


끝입니다! 읽어주셔서 감사합니다~~~~ ⭐️⭐️⭐️⭐️⭐️




카테고리:

업데이트: