본문 바로가기
  • 시 쓰는 개발자

Spring13

PUT과 PATCH의 차이점 PUT과 PATCH는 모두 HTTP 메소드 중에서 데이터를 수정하기 위한 메소드이다. 둘 다 수정을 담당하는 메소드라서 어떤 것을 언제 사용해야하는지 헷갈리는데, 일반적으로 PUT과 PATCH는 다음과 같이 분류한다. PUT은 전체 엔티티를 업데이트하기 위해 사용되는 메소드이다. 전체를 교체하기 때문에 PUT을 쓸 때에는 모든 필드가 필요해서 클라이언트가 업데이트하고자 하는 리소스의 전체 표현을 제공해야 한다. 만약 PUT을 쓸 때 필드의 전체가 아니라 일부만을 제공한다면 제공한 일부를 제외하고 나머지 모든 필드값이 NULL이 되거나 default값이 되므로 주의해야한다. → 그래서 이런 실수를 방지하고자 일부러 PATCH만 쓰도록 개발자들끼리 약속하기도 한다. PATCH는 부분적인 업데이트 즉 엔티티의.. 2023. 2. 19.
spring security - 인증 방식에 따른 차이 (세션과 토큰방식) 세션 기반 자격 증명 방식이란, 인증된 사용자의 정보를 서버 측에서 세션 형태로 하여 세션 저장소에 저장하는 방식을 말함. 클라이언트의 request에는 서버로 전달되는 쿠키가 있는데 이 쿠키 안에 세션 id가 담겨서 전달됨. 그리고 이걸 서버에서 관리함. 즉, 인증된 사용자의 정보를 서버의 세션 저장소에서 관리하고 클라이언트에겐 해당 사용자를 구분할 세션 Id만 전달 서버에서 세션id 생성(고유한 값) → 클라 쿠키에 저장돼서 request시 쿠키랑 같이 서버로 전송해서 인증된 사용자임을 증명 // 세션 데이터가 많아질수록 서버 부담 증가 세션 id만 클라에서 사용 → 적은 네트워크 트래픽 서버에서 세션 정보 관리 → 보안성 유리 서버 여러개로 확장시 불리 → 세션 불일치 문제 발생 가능 (확장한 서버.. 2023. 1. 3.
spring security란 SpringSecurity spring security는 인증과 인가에 초점을 맞춘 프레임워크이다. 인증(Authentication): 해당 사용자가 본인이 맞는지를 확인하는 절차 인가(Authorization): 인증된 사용자가 요청한 자원에 접근 가능한지를 결정하는 절차 스프링 시큐리티의 특징 서블릿 api 통합 spring web mvc와의 선택적 통합 인증과 권한 부여를 모두 포괄적이고 확장 가능한 지원 세션 고정, clickjacking, 사이트 간 요청 위조 등과 같은 공격으로부터 보호 ▶ 웹 기반 인증과 인가를 편하게 구현하기 위함. spring security Filter 필터가 굉장히 많아서 우리에게 필요한 필터만 골라 구현해 사용한다. 로그인 인증 구조 사용자가 아이디 비밀번호로 로그인.. 2022. 11. 21.
MVC패턴과 MVC패턴을 지키는 법 MVC패턴과 MVC패턴을 지키는 법 * MVC = 유지보수가 편해지도록 하는 코드 구성 방식. M은 Model, V는 View, C는 Controller를 의미. 흐름 사용자가 구글에 단어를 검색 단어에 대한 검색 결과를 달라고 Model에게 요청 모델이 검색결과 데이터를 찾아서 Controller에게 전달 컨트롤러가 View에게 받은 검색 결과 데이터를 전달 뷰는 UI에 검색결과 데이터를 넣어서 사용자에게 이쁘게 보여줌 MVC의 역할 모델 : 데이터와 관련된 일을 함 컨트롤러 : 모델과 뷰 사이에서 중개자 역할을 함 뷰 : 사용자에게 보여지는 부분을 담당 (추가) Model: 소스 코드로 특정 동작이 수행되는 파트 View: 우리(사용자)가 보는 화면이다. Controller: view의 요청을 받아 .. 2022. 10. 20.