항상 헷갈렸던 개념인 URI,URL 개념을 정리하겠다.
URI는 특정 리소스를 식별하는 통합 자원 식별자를 의미한다. 웹 기술에서 사용하는 논리적 또는 물리적 리소스를 식별하는 고유한 문자열 시퀀스다.
예시 : 'https://velog.io/seungmin/imgage/1'
(URL x , URI o)
URL은 흔히 웹 주소라고도 하며, 컴퓨터 네트워크 상에서 리소스가 어디 있는지 알려주기 위한 규약이다. 즉, 자원의 위치를 지정하여 접근
예시 : 'https://velog.io/seungmin/imgage.1png'
(URL o , URI o)
URI는 식별하고, URL은 위치를 가르킨다.
두 주소는 모두 index.html을 가리키고 있다.
첫번째 주소는 웹서버의 실제 파일 위치를 나타내는 주소이므로 URI이면서 URL이다.
두번째 주소는 실제로 index라는 파일이 웹서버에 존재하지 않으므로 URL은 아니다. 하지만 서버 내부에서 이를 처리하여 결국 index.html을 가리키기 때문에 URI라고 볼 수 있다.
Springboot는 URL로 자원에 접근하는 것을 허용하지 않는다. 즉, 정적인 자원의 Request,Response를 허용하지 않는다. 그 말은 즉, Web Server에서 처리할 수있는 것은 없고 WAS (Tomcat) 영역의 Web Container에서 Request,Response를 처리한다는 의미이다.
정리하자면 Springboot는 Tomcat을 통해서만 자원의 접근할 수 있는 구조이기에 Embedded Tomcat으로 구성되어있다.