모든 개발자를 위한 HTTP 웹 기본 지식 강의 수강 후, 정리한 글입니다.
URN
은 "홍길동"처럼 자원의 "이름"을 의미하고, URL
은 "홍길동이 사는 주소"처럼 "위치"를 의미한다. 이 모든 것을 포함하고 있는 것이 URI
이다.
urn:isbn:9788966261208
위치는 변할 수 있지만, 이름은 변하지 않는다.
scheme://[userinfo@]host:[:port][/path][?query][#fragment]
https://www.google.com:443/search/q=hello&hl=ko
userinfo@
: 사용자 정보, 거의 사용하지 않음https
: 프로토콜(protocol)www.google.com
: 호스트명(host name)443
: 포트번호(port number)/search
: 패스(path)q=hello&hl=ko
: 쿼리 파라미터(query parameter)/items
/items/devices
/items/devices/iphone14
?
로 시작&
으로 추가https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started-introducing-spring-boot
🗒️ 프로토콜: 어떤 방식으로 자원에 접근할 것인가 하는 약속/규칙
🗒️ 포트번호는 생략 가능
URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화되어있지 않아서 URI/URL을 사용한다. URI는 식별자이고 URL은 위치인데, 이것들의 차이가 무엇일까?
예시 1) 다음은 URI이자 URL이다.
https://leporem.art/images/logo.png
예시 2) URI지만 URL은 아니다.
URI: https://leporem.art/users?sessionId=123456
URL: https://leporem.art/
예시 3) 같은 URL, 다른 URI
https://leporem.art/users?sessionId=123456
https://leporem.art/users?sessionId=987654
참고
https://helpcenter.trendmicro.com/en-us/article/tmka-18277
https://velog.io/@jch9537/URI-URL