[Web] URI, URL, URN
업데이트:
시작하며
안녕하세요~! 벌써 6월입니다. 시간은 왜 이렇게 빨리 갈까요? 🧐 (연구대상,,)
올해는 특히나 눈을 깜빡이면, 달이 바뀌는거 같습니다.
오늘 아침은 생각보다 너무 일찍 회사에 도착해서, 스타벅스에서 커피 와 샌드위치 를 샀습니다.
자주 있는 일은 아니고, 마침 쿠폰 유효기간이 다 되기도 했고
⭐️ 제 자신⭐️ 에게 한 번씩 여유를 주는 것도 좋으니까요 ㅎㅎㅎㅎ
오늘은 쉬어가는 타임으로 URI, URL, URN 에 대해서 짤막하게 포스팅하고,
끝에 마크다운 팁 을 드리려고 합니다 :)
URI, URL, URN의 서막
URN까지는 모르겠지만 ‘URI 와 URL 의 차이’ 에 대한 이야기는 종종 보게 됩니다.
구체적인 내용에 앞서, 이들의 포함관계부터 살펴 봅시다.
저는 이걸 보면서, ’ 애매하다 싶으면 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
가 있기 때문에 가능한 것입니다.
-
웹 브라우저는 웹 서버에 리소스를 요청할 때, URI 를 보내게 되는데요. 이 때,
#fragment
는 보내지 않습니다. -
브라우저가 웹 서버로부터 리소스를 받았다면, 그 때, HTML 안에서 태그로
#fragment
를 찾아가는 것입니다.
네! 결국, 서버로부터 해당 페이지를 받아왔다면, 네트워크가 끊기더라도 목차 이동은 아무런 문제가 없습니다. (이런거 찾아내는게 재밌,,😅 )
쉬어가는 타임으로 적기로 했는데, 너무 길어졌네요ㅠ. 빨리 팁을 전하고 글을 마칩니다.📡
깃헙 마크다운에서는 더 편하게 하는 방법이 있습니다. 바로 클립 모양을 클릭하면, fragment가 자동으로 붙습니다.
끝입니다! 읽어주셔서 감사합니다~~~~ ⭐️⭐️⭐️⭐️⭐️