본문 바로가기

TIL(Today I Learned)

TIL-230805(항해99 실전 프로젝트-행동대장(5))

728x90

📝오늘 공부한 것

  • 실전 프로젝트 벡엔드 기술적 의사결정
  • 실전 프로젝트 세팅
  • 쿠키, 세션

 

알게 된 점

swagger

 REST API를 설계, 구축, 문서화 및 사용하는 데 도움이 되는 OpenAPI 사양을 기반으로 구축된 오픈 소스 도구이다.

dependency에 추가하고, 설정들을 하면 코드에 따라 자동으로 API 문서가 수정된다.

아직 한번도 써보진 않았지만 이번 기회에 사용해봐도 좋을 것 같다는 생각이 들었다.

https://swagger.io/

 

API Documentation & Design Tools for Teams | Swagger

Loved by all • Big & Small Thousands of teams worldwide trust Swagger to deliver better products, faster.

swagger.io

 

쿠키, 세션

 쿠키와 세션 모두 HTTP에 상태 정보를 유지(Stateful)하기 위해 사용한다. 즉, 쿠키와 세션을 통해 서버에서는 클라이언트 별로 인증 및 인가를 할 수 있게 된다.

 쿠키와 세션은 저장위치와 보안뿐만 아니라 라이프사이클이 다르다!

 

쿠키(Cookie)

 - 클라이언트에 저장될 목적으로 생성한 작은 정보를 담은 파일이다.

 

세션(Session)

 - 서버에서 일정시간 동안 클라이어트 상태를 유지하기 위해 사용된다.

 - 서버에서 클라이언트 별로 유일무이한 '세션ID'를 부여한 후 클라이언트 별 필요한 정보를 서버에 저장한다.

 - 서버에서 생성한 '세션ID'는 클라이언트의 쿠키값('세션 쿠키')으로 저장되어 클라이언트 식별에 사용된다.

 

  쿠키 세션
저장 위치 클라이언트(웹 브라우저) 웹 서버
사용 예 사이트 팝업의 '오늘 다시보지 않기'정보 저장 로그인 정보 저장
만료 시점 쿠키 저장 시 만료일시 설정 가능
(브라우저 종료시도 유지 가능)
다음 조건 중 하나가 만족될 경우 만료됨
1. 브라우저 종료 시까지
2. 클라이언트 로그아웃 시까지
3. 서버에 설정한 유지기간까지 해당 클라이언트의 재요청이 없는 경우
용량 제한 브라우저 별로 다름(크롬 기준)
- 하나의 도메인 당 180개
- 하나의 쿠키 당 4KB9=4096byte)
개수 제한 없음
(단, 세션 저장소 크기 이상 저장 불가능)
보안 취약
(클라이언트에서 쿠키 정보를 쉽게 변경, 삭제 및 가로채기 당할 수 있음)
비교적 안전
(서버에 저장되기 때문에 상대적으로 안전)

 

개선할 점💪🏻

기술 매니저님 멘토링

 1. 배포를 먼저 진행하였으면 좋겠다. 지금 시간이 가장 많을 때이니 미리 CICD 해놓기.

    현업에서는 담당하시는 분들이 따로 있지만, 지금은 우리가 해야하니 미리 해놓으면 좋다.

2. api return 값들이 공통되었으면 좋겠다.(status, msg, data 등등)

    Spring common response / Spring Response 공통화 에 대해서 찾아볼 것

3. 이것저것 해보고 싶은 것도 많고 사용해보고 싶은 것도 많을것이다. 많은 것들을 경험해보는 것도 좋지만 지금하고 있는 것을 잘 하고 있는지에 대한 고민도 중요하다.

 

느낀 점🤔

오늘은 실전 프로젝트 기획이 끝나고 코드 개발을 시작하였다.

팀의 여러가지 이슈들 때문에 우리팀의 속도가 다른 팀들보다 많이 느린 편이다. 그래서 조금더 속도를 올려서 해야겠다는 생각이 들었다. 

728x90