전체 글

개요 스프링의 동작하는 방식에 대해 고민을 할 때, 서블릿이 관련되어 있다. servlet이 무엇일까? 서블릿을 한 줄로 정리하면 다음과 같다. 클라이언트 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹프로그래밍 기술 Servlet 특징 - 클라이언트의 요청에 대해 동적으로 작동하는 웹 어플리케이션 컴포넌트 - html 을 사용하여 요청에 응답한다. - Java Thread를 이용하여 동작한다. - MVC 패턴에서 Controller로 이용된다. - HTTP 프로토콜 서비스를 지원하는 HttpServlet 클래스를 상속받는다. - UDP 보다 처리 속도가 느리다. - HTML 변경 시 Servlet을 재 컴파일해야 하는 단점이 있다. Servlet 동작 흐름 1. ..
Access Token은 private value 에 Refresh Token은 HttpOnly 쿠키에 저장한다. Access Token, Refresh Token의 저장위치를 선택한 과정을 XSS, CSRF 와 연관하여 설명하려고 한다. Access Token 저장 위치 프론트엔드의 private value에 저장한다. 즉, 가장 안전한 곳에 저장을 하는 것이다. 새로고침을 할때마다 초기화 되는 문제가 있고, 만료시간이 짧다는 단점이 있다. 그래서 사용하는 것이 RefreshToken이다. Refresh Token 저장 위치 브라우저의 HttpOnly쿠키에 저장한다. 쿠키는 HttpOnly를 사용하여 XSS 공격을 미리 방지한다. 왜 HttpOnly쿠키에 Refresh Token을 저장할까? HttpO..
Spring Boot 프로젝트 만들기 스프링 프로젝트를 만들기 위해 Spring Boot initializr 사이트로 이동한다. https://start.spring.io/ Spring initializr Dependencies 에서 Spring Web 을 추가한다. intellij 에서 만들어진 demo 프로젝트를 실행해보기 DemoApplication.java 위와 같이 SpringBoot가 terminal에서 뜨면 성공! github에 프로젝트 올리기 github에서 repo를 하나 만든다. 프로젝트에서 terminal을 열어서 github로 spring boot를 올린다, intellij - demo project 폴더 안 terminal 에서 명령어를 친다. demo > git init demo..
ckm7907
백엔드 잘하고 싶어요!