클론코딩 5일차. 코드 리팩토링을 진행했다. URL과 URI에 대한 정리가 확실히 되어있지 않아 오늘 정리해보려 한다. 그리고 프로젝트 하면서 알게 된 것들을 정리해보려 한다.
URI
: Uniform Resource Identifier. 통합 자원 식별자. 네트워크 상의 리소스를 식별하는 고유한 문자열 시퀀스.
ex) velog.io
URL
: Uniform Resource Locator. 네트워크 상의 리소스의 "위치"
를 나타내는 규약.
웹사이트 주소 + 컴퓨터 네트워크상의 자원을 동시에 보여줌.
웹페이지 뿐만 아니라 프로토콜(http, https 등)을 동시에 보여줌
ex) https://velog.io/
Scheme : 프로토콜
Host : 접근할 서버의 호스트명
Path : 접근할 서버의 경로에 대한 상세정보.
@RestController에서는 API의 반환값으로 String return "redirect: URI"를 써도 제대로 작동하지 않는다. @Controller에서만 작동한다.
프론트와 백엔드 서버가 다르면 백엔드에서 직접 쿠키를 만들어 경로에 넣는 방식은 쓰지 않는다. 아래와 같은 방식은 프론트와 백엔드 서버가 같을때 쓰는 것이 좋다.
Cookie cookie = new Cookie(JwtUtil.AUTHORIZATION_HEADER, createToken.substring(7));
cookie.setPath("/");
response.addCookie(cookie);
헤더에 넣어주는 방식으로 사용하자
response.addHeader(JwtUtil.AUTHORIZATION_HEADER, jwtUtil.createToken(user.getEmail(), user.getRole()));