Network
URI(Uniform Resource Identifier)
Wanderer Kim
2022. 7. 10. 13:33
728x90
URI 정의
URI란 통합 자원 식별자를 의미하는 용어입니다. 웹에서 사용되는 모든 형태의 자원들을 식별하는 고유한 문자열 시퀀스를 URI라고 부릅니다.
URI?URL?URN?
URI/URL/URN 세가지 용어들을 혼용에서 사용되는 것을 흔히 볼 수 있습니다. 이번에 위 세가지 용어들의 의미를 정리해보고자 합니다.
위 다이어그램을 보면 URL, URN은 URI의 서브셋인것을 알 수 있습니다. 즉, 리소스 식별을 locator로 하면 URL, name으로 식별을 하면 URN이라고 부릅니다. 이중 URL이 가장 보편적으로 사용되는 방법입니다.
URL 문법
URL은 아래와 같은 문법으로 작성 됩니다.
- https://www.google.com:443/search?q=hello&hl=ko
- https : 프로토콜
- www.google.com : 호스트명
- 443 : 포트 번호
- /search : 패스
- q=hello&hl=ko : 쿼리 파라미터
- scheme
- 주고 프로토콜을 사용합니다
- 프로토콜 : 어떤 방식으로 자원에 접근할 것인가 하는 약속 규칙
- http, https, ftp etc.
- http는 80포트, https는 443 포트를 주로 사용합니다. 이때 포트는 생략이 가능합니다.
- 프로토콜 : 어떤 방식으로 자원에 접근할 것인가 하는 약속 규칙
- 주고 프로토콜을 사용합니다
- userinfo
- URL에 사용자정보를 포함해서 인증합니다
- 요즘에는 거의 사용되지 않는 추세입니다.
- host
- 호스트명을 적습니다.
- 도메인명 또는 IP 주소를 직접 사용가능합니다.
- 호스트명을 적습니다.
- port
- 포트를 적는 곳입니다.
- 포트는 일반적으로 생략을 많이 합니다.
- path
- 리소스 경로를 적는 자리 입니다.
- 일반적으로 계층적 구조를 가지고 있습니다.
- /home/file1.jpg
- /members
- /members/100, /items/iphone12
- query
- key=value 형태를 갖습니다.
- ?로 시작하고 &을 붙여서 추가 가능합니다. e.g. ?keyA=valueA&keyB=valueB
- query parameter, query string 등으로 불립니다. 문자 형태를 가지고 있습니다.
- fragment
- html 내부 북마크 등에 사용됩니다.
- 서버에 정송하는 정보는 아닙니다.
- e.g. https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started-introducing-spring-boot
반응형