❗JWT
JWT(Json Web Token): 모바일이나 웹의 사용자 인증을 위해 사용하는 암호화된 토큰
JWT 정보를 request에 담아 사용자의 정보 열람, 수정 등의 작업을 수행
✏️이용 방식
토큰 기반 시스템은 stateless하기 때문에 유저의 인정 정보를 서버나 세션에 담아두지 않아서
인정정보를 서버에 담아둠으로써 발생하는 많은 문제점들이 해소
✏️JWT 구성
-Header: 토큰의 유형 (JWT)과 HMAC, SHA256 또는 RSA와 같은 해시 알고리즘을 나타냄
-Payload: 토큰에 담을 클레임(claim) 정보를 포함
Payload 에 담는 정보의 한 ‘조각’ 을 클레임이라고 부르고, 이는 name / value 의 한 쌍으로 이뤄져있다.
토큰에는 여러개의 클레임 들을 넣을 수 있다.
클레임의 정보는 등록된(registered) 클레임, 공개(public) 클레임, 비공개(private) 클레임으로 세 종류가 있다.
-Signature: secret key를 포함하여 암호화
❗Cookie, Session
HTTP 프로토콜 환경은 connectionless, stateless한 특성을 가지기 때문에
서버는 클라이언트가 누구인지 매 요청마다 확인해야 한다.
이 특성을 보완하기 위해서 쿠키와 세션을 사용한다.
✏️Cookie
-쿠키는 웹사이트 접속시 내 컴퓨터에 저장되는 작은 텍스트 파일
-웹사이트에서는 쿠키를 통해 어떤 기기로 접속했는지 확인하고 일부 데이터를 저장
-만료일을 지정할 수 있고 만료일이 지나면 자동 삭제됨
✏️Session
-세션은 데이터들이 접속 중인 웹 서버에 저장
-쿠키보다는 상대적으로 안전(브라우저를 닫거나 서버에서 세션을 삭제하면 없어짐)
-저장데이터에 제한은 없지만 서버 자원이 소모될 가능성 있음
-유저가 접속할 때 부여되는 세션ID를 사용해서 클라이언트를 구분
❗Transaction
트랜잭션(Transaction): DB의 상태를 변환시키는 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들
하나의 트랜잭션은 Commit되거나 Rollback된다.
✏️Rollback
하나의 트랜잭션 처리가 비정상적으로 종료되어 데이터베이스의 일관성을 깨뜨렸을 때
이 트랜잭션의 일부가 정상적으로 처리되었더라도 트랜잭션의 원자성을 구현하기 위해
이 트랜잭션이 행한 모든 연산을 취소(Undo)하는 연산
'🔻Extracurricular Activity > UMC' 카테고리의 다른 글
[UMC 3기] CMC Developer Conference (0) | 2023.02.04 |
---|---|
[UMC 3기] server 8주차-2 (0) | 2022.11.17 |
[UMC 3기] server 7주차-2 (0) | 2022.11.10 |
[UMC 3기] server 7주차-1 (0) | 2022.11.09 |
[UMC 3기] server 6주차-3 (0) | 2022.11.02 |