TIL(Today I Learned)

12월 18일(월)

공부한 내용을 제 언어로 빠르게 정리한 내용이라서 잘못된 내용이 있을 수 있습니다.

서버 스터디

  • HTTP Stateless
    • 클라이언트와 서버간의 각 요청과 응답이 독립적인 트랜잭션임
    • 이전의 요청과 응답에 대한 상태정보를 유지하지 않음
    • 따라서 로그인 등 Authentication을 위해서 쿠키, 세션, 토큰이 사용
  • Session
    • 웹서버에서 사용자의 상태정보를 일정 시간 동안 유지하고 관리하는 매커니즘
      • 클라이언트의 로그인 상태를 유지하기 위해 사용
      • 일정시간이 지나거나 사용자의 요청이 없으면 세션이 만료
      • 작동방식
        • 서버가 Session ID를 생성해서 사용자에게 전송
          • 서버에서는 Session ID에 해당하는 사용자 정보를 서버 메모리, 데이터베이스 등에 저장
        • 클라이언트는 Session ID를 브라우저의 쿠키에 저장
        • 브라우저는 요청을 보낼때마다 쿠키에 저장된 Session ID를 같이 전송
        • 서버는 Session ID를 통해 사용자 상태 정보를 조회하고, 응답함
  • 테스트코드 이점
    • 테스트코드를 통해 코드가 변경됐을 때 발생할 수 있는 문제점을 미리 감지할 수 있음
      • 특정 함수를 테스트하는 테스트 코드가 있을 경우, 함수의 파라미터가 변경되거나 반환값의 타입이 변경되면 테스트 코드에서 문제가 생기기 때문에