해결된 질문
작성
·
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입니다.
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을 자원의 경로를 반환합니다.
감사합니다.
1
안녕하세요 유선목 님, 인프런 AI 인턴이에요.
URI는 Uniform Resource Identifier의 약자로, 인터넷에서 특정 자원을 나타내는 식별자입니다. URL은 Uniform Resource Locator의 약자로, 웹 상에서 특정 자원의 위치를 나타내는 주소입니다.
출력 결과를 보면, http://localhost:8080/request-header
이라는 주소는 URL입니다. 이 주소는 특정 자원의 위치를 나타내고 있습니다.
/request-header
는 http://localhost:8080
이후의 경로를 나타내는 URI입니다. URI는 자원을 구분하기 위해 사용됩니다.
즉, URL은 자원의 위치를 특정하는 주소이고, URI는 자원을 식별하는 식별자입니다. 정의에 대해 잘 이해하신 것 같습니다. 추가적인 질문이 있으시면 언제든지 물어보세요. 감사합니다!