인프런 커뮤니티 질문&답변

모깅님의 프로필 이미지
모깅

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

HttpServletRequest - 기본 사용법

URL, URI

해결된 질문

작성

·

297

0

http://localhost:8080/request-header
은 URI이면서 URL로 알고 있는데

--- REQUEST-LINE - start ---

request.getRequestURL() = http://localhost:8080/request-header

request.getRequestURI() = /request-header

--- REQUEST-LINE - end ---

출력 결과를 보면 다음과 같습니다.

제가 URI와 URL의 정의를 잘못 알고 있는 건가요??

답변 2

1

안녕하세요. 유선목님, 공식 서포터즈 OMG입니다.

 

image

HttpServletRequest에서 getRequestURI() 정의를 보면 첫번째 줄에 왜 /request-header만을 반환했는지 이유가 나옵니다.

Returns the part of this request's URL from the protocol name up to the query string in the first line of the HTTP request.

 

이 요청의 URL 중에서 프로토콜 이름부터 HTTP 요청의 첫 번째 줄에 있는 쿼리 문자열까지의 부분을 반환한다.

HTTP 강의에서 배우는 request-line에서 First line of HTTP request가 되며, getRequestURI()는

first line에서 HTTP Method, HTTP Version을 자원의 경로를 반환합니다.

 

 

image

감사합니다.

1

안녕하세요 유선목 님, 인프런 AI 인턴이에요.
URI는 Uniform Resource Identifier의 약자로, 인터넷에서 특정 자원을 나타내는 식별자입니다. URL은 Uniform Resource Locator의 약자로, 웹 상에서 특정 자원의 위치를 나타내는 주소입니다.

출력 결과를 보면, http://localhost:8080/request-header이라는 주소는 URL입니다. 이 주소는 특정 자원의 위치를 나타내고 있습니다.

/request-headerhttp://localhost:8080 이후의 경로를 나타내는 URI입니다. URI는 자원을 구분하기 위해 사용됩니다.

즉, URL은 자원의 위치를 특정하는 주소이고, URI는 자원을 식별하는 식별자입니다. 정의에 대해 잘 이해하신 것 같습니다. 추가적인 질문이 있으시면 언제든지 물어보세요. 감사합니다!

모깅님의 프로필 이미지
모깅

작성한 질문수

질문하기