본문 바로가기

Spring Boot(스프링 부트)

URI vs. URL

GDSC 활동 (URI과 URL의 차이점)에 대한 포스팅을 작성하려고 한다.

 

URL은 많이들 들어보기도 하고 알고 있을 내용이라고 생각한다.

URI는 뭔가 들어본 것 같은데 잘 모르지 않을까 생각한다

 

URI와 URL의 차이점을 살펴보자

 

URI (Uniform Resource Identifier, 통합자원식별자)

 

URI는 인터넷에 있는 자원을 나타내는 유일한 주소이다

또한 인터넷에 존재하는 각종 정보들의 유일한 이름이나 위치를 표시하는 식별자이다.

 

다음은 URI 구조이다

scheme:[//[user[:password]@]host[:port][/path][?query][#fragment]
ex) https://hsmart40id@www.ksmart.or.kr:443/forum/questions?course=sw40&order=name#search
-> query 값이 있으므로 get 방식!

 

예시만 보았을 때 헷갈리기 때문에 구체적인 의미를 살펴보자

 

scheme

사용할 프로토콜, 리소스에 어떻게 요청 및 접근할 것인지를 명시한다.

웹에서 주로 HTTP 프로토콜을 사용한다

 

user, password

서버에 접근하기 위한 사용자의 이름, 비밀번호

 

host

도메인 혹은 IP -> ksmart.or.kr

접속하고 싶은 서버 컴퓨터를 의미한다.

ex) google.com (도메인)

 

path

서버에 제공하는 자원의 경로

요청하는 경로를 MVC 패턴에서 숨길 수 있다.

 

query

클라이언트가 서버에 요청 시 전송할 데이터 (KEY + VALUE)

 

fragment

서브리소스에 대한 방향을 제공하는 식별자

요소에 대한 id이며 그 위치로 찾아가준다

 

 

URL(Uniform Resource Locator, 통일자원위치지정자)


URL은 웹 주소이다.

또한 컴퓨터 네트워크 상에서 리소스가 어디있는지 알려주기 위한 규약이다.

 

쉽게 말하자면 URI가 더 큰 의미이고 URL은 그 안에있는 요소라고 생각하면 된다!

 

그림을 보면 단번에 이해할 수 있을 것이다

전체가 URI라고 할 때, 경로에 해당하는 위치까지는 URI,

프로토콜을 제외한 나머지는 URN이라고 한다.

URI와 URL을 많이 사용하며 URN은 잘 사용하지 않는다고 한다!

 


 

URI에 대한 개념은 생소하였는데 그림으로 한눈에 이해할 수 있어서 깊게 기억에 남을 것 같다!

URI에 URL이 포함되어 있는 느낌

URL은 경로의 위치, URN은 프토토콜을 제외한 유일한 이름이나 위치를 표시하는 식별자!

앞으로 Spring을 학습할 때 도움이 되는 날이 왔으면 좋겠다!