Tiny Star

📌TIL [Today I Learn]

[TIL] 23년 7월 27일 목요일

청크 2023. 7. 27. 21:32

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