23년 7월 27일 목요일
오늘의 목표 : Spring 주특기 플러스 주차 JPA 심화 8강까지 수강+JPA, JWT 복습
오늘 공부한 내용🤓
오늘도 실패한 플러스 주차 복습과제...^^
JPA랑 JWT 복습 완료하고 하기로 계획을 변경했다.
심화 강의를 들으면서 분명 이해가 안되는 부분이 있어서 처음부터 다시 보는 중이다.
JWT는 두세번 정도 복습하니 이제 눈에 조금 익는 단계.
[인증과 인가]
인증(Authentication)
→ 해당 유저가 실제 유저인지 인증하는 개념으로, 로그인처럼 실제 그 유저가 맞는지를 확인하는 절차
인가(Authorization)
→ 해당 유저가 특정 리소스에 접근이 가능한지 허가를 확인하는 개념으로, 관리자 페이지 내 관리자 권한 같은 것
쿠키-세션 방식의 인증 : 서버가 ‘특정 유저가 로그인 되었다’는 상태를 저장하는 방식
· 쿠키 : 클라이언트에 저장될 목적으로 생성한 작은 정보를 담은 파일
· 쿠키의 구성요소
→ Name (이름): 쿠키를 구별하는 데 사용되는 키 (중복될 수 없음)
→ Value (값): 쿠키의 값
→ Domain (도메인): 쿠키가 저장된 도메인
→ Path (경로): 쿠키가 사용되는 경로
→ Expires (만료기한): 쿠키의 만료기한 (만료기한 지나면 삭제)
[쿠키의 동작방식]
1. 클라이언트가 페이지를 요청
2. 서버에서 쿠키를 생성
3. HTTP 헤더에 쿠키를 포함 시켜 응답
4. 브라우저가 종료되어도 쿠키 만료 기간이 있다면 클라이언트에서 보관하고 있음
5. 같은 요청을 할 경우 HTTP 헤더에 쿠키를 함께 보냄
6. 서버에서 쿠키를 읽어 이전 상태 정보를 변경 할 필요가 있을 때 쿠키를 업데이트 하여 변경된 쿠키를 HTTP 헤더에 포함시켜 응답
· 세션 : 서버에서 일정시간 동안 클라이언트 상태를 유지하기 위해 사용되는 사용자 정보를 저장하는 방법
→ 서버에서 클라이언트 별로 유일무이한 '세션 ID' 를 부여한 후 클라이언트 별 필요한 정보를 서버에 저장하고 서버에서 생성한 '세션 ID' 는 클라이언트의 쿠키값('세션 쿠키' 라고 부름)으로 저장되어 클라이언트 식별에 사용
· 세션의 특징
→ 각 클라이언트에게 고유 ID를 부여
→ 세션 ID로 클라이언트를 구분해서 클라이언트의 요구에 맞는 서비스를 제공
→ 보안 면에서 쿠키보다 우수
→ 사용자가 많아질수록 서버 메모리를 많이 차지하게 됨
[세션의 동작방식]
1. 클라이언트가 서버에 접속 시 세션 ID를 발급받음
2. 클라이언트는 세션 ID에 대해 쿠키를 사용하여 저장하고 보유하고 있음
3. 클라이언트는 서버에 요청할 때 이 쿠키의 세션 ID을 같이 서버에 전달해서 요청
4. 서버는 세션 ID를 전달 받고 별다른 작업없이 세션 ID로 세션에 있는 클라이언트 정보를 가져와서 사용
5. 클라이언트 정보를 가지고 서버요청을 처리한 후 클라이언트에게 응답
어려웠던 내용😵💫
궁금&부족한 내용❓
느낀 점💡
'📌TIL [Today I Learn]' 카테고리의 다른 글
[TIL] 23년 7월 31일 월요일 (0) | 2023.08.01 |
---|---|
[TIL] 23년 7월 28일 금요일 (0) | 2023.07.28 |
[TIL] 23년 7월 26일 수요일 (0) | 2023.07.26 |
[TIL] 23년 7월 25일 화요일 (0) | 2023.07.26 |
[TIL] 23년 7월 14일 금요일 (0) | 2023.07.14 |