REST 제약조건REST(Representational State Transfer) : 표현된 자원의 상태를 주고 받는 방법을 정리한 아키텍처 스타일Client-Server(클라이언트-서버) : API를 통해 정보를 교환하는 주체는 클-서 구조를 가져야 함 | 클라이언트와 서버 분리를 통해 서로 의존하지 않는 구조를 가져야 함Stateless(무상태성) : 클라이언트는 상태를 저장하지 않는다 | 클라이언트의 각 리퀘스트는 서버가 리퀘스트를 이해하는데 필요한 모든 정보를 포함해야 함Cache(캐시) : 데이터 복사본을 임시 저장 위치에 저장해 보다 빠르게 액세스할 수 있도록 하는 프로세스인 캐싱을 통해 네트워크 효율성을 높임 | 리퀘스트에 대한 리스폰스에 캐시 가능 및 불가능 여부가 들어 있어야 함Unif..
MVC 패턴(Model-View-Controller) : 각각의 역할과 관심사를 분리함으로써 모델, 뷰, 컨트롤러가 독립적으로 작동하도록 하는 것이 목적모델은 DB와 상호작용 및 비즈니스 로직 관리, 뷰는 레이아웃과 화면처리, 컨트롤러는 모델과 뷰로 명령을 전달하는 역할을 함서비스(Service): 비즈니스 로직을 서비스로 분리해 모델이 DB라는 하나의 역할만 할 수 있도록 도와줌 | 서비스를 사용함으로서 여러 부분에서 사용되는 기능을 서비스를 통해 중복 제거 가능, 모델-컨트롤러간 결합을 낮추고, 각 부분이 완전히 독립적으로 확장이 가능해짐키 파생함수(Key Derivation Function)키 스트레칭(Key Streching) : salt와 PW를 같이 해싱해 다이제스트(digest, 해시 알고리..
접근 권한 위임과 OAuth 접근 권한 위임 : 한 서비스가 다른 서비스에 있는 보호된 리소스에 대한 접근 권한을 위임하거나 받는 기능OAuth(Open Authorizatino) : 개방형 접근 권한 위임 표준(인증 X)OAuth 주체와 설정주체) 유저 - BE - FE - 인가 서버 - 리소스 서버Scope) 인가 서버로부터 넘겨 받으려는 권한의 범위 OAuth 워크플로우워크플로우 : 특정 목표를 이루기 위한 작업 흐름OAuth 워크플로우 : 접근 권한을 특정 방식으로 주고 받기 위해서 각 주체들이 해야되는 작업들과 그 순서OAuth : 유저의 이메일, 비밀번호 같은 민감정보를 직접적으로 넘겨주지 않고 다른 서비스에 있는 보호된 리소스에 접근하게 해주는 프로토콜OpenID Connect(OIDC) :..
유저기능인증(Authentication) : 리퀘스트를 보낸 사용자가 누군인지를 파악하는 것인가(Authorization) : 리퀘스트마다 할 수 있는 걸 제한하는 것 인증(Authentication)인증을 하기 위해선 서버에 유저에 대한 정보가 저장돼 있어야 함 ~> 유저를 나타내는 모델을 만듦모델? 클래스와 비슷하게 특정 리소스에 대한 정보를 관리하기 편하게 코드로 표현해 놓은 것[회원가입 플로우]회원가입 페이지에서 필수 정보 입력 후 [회원가입] 버튼을 누르면 클라이언트는 서버에 회원가입 URL로 유저를 만들어달라는 POST 리퀘스트를 보냄(입력된 정보는 리퀘스트 바디로 전송)리퀘스트를 받은 서버는 인증 정보에 대한 기본적인 테스트 후 유저 데이터 새롭게 저장테스트 실패시) 에러 리스폰스를 클라이언..