일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- django
- docker
- redis
- 장고
- 세션(Session)
- JWT
- 아티클 스터디
- 파이썬
- 자료구조
- 오블완
- Doker
- Til
- 개발공부
- web
- NoSQL
- SQL
- 도커
- 코딩테스트
- Wil
- CS
- nginx
- 연습
- flask
- 티스토리챌린지
- github
- git
- Python
- ERD
- 쿠키(cookie)
- viewsets
- Today
- Total
목록CS (21)
SteadyDrills

241124 세션 인증서버 기반: 세션 인증은 서버에서 세션 정보를 관리(저장)한다. 사용자가 로그인하면 서버는 세션을 생성하고, 이를 클라이언트에 세션 ID로 전달한다.➡️ 서버에 저장되는 데이터가 많아 부하상태 유지: 서버는 세션 정보를 유지하므로 상태를 관리할 수 있다. 사용자가 로그아웃하면 서버에서 세션을 삭제한다. ➡️ 클라이언트에서 세션 ID가 탈취될 경우 서버에서 즉각적인 대처 가능보안: 세션 ID는 쿠키를 통해 클라이언트에 저장되며, HTTPS를 통해 전송되는 것이 일반적이다. CSRF 공격에 취약할 수 있다. ➡️ CSRF토큰을 이용해 변조, 탈취 등에 대한 보안적 대처 가능JWT 인증클라이언트 기반: JWT는 클라이언트 측에 토큰을 저장한다. 사용자가 로그인하면 서버는 JWT를 생성하여..

241118JWT(JSON Web Token)JWT(JSON Web Token)는 사용자 인증 및 정보 교환을 위해 사용되는 개방형 표준이다. JWT는 주로 웹 애플리케이션에서 클라이언트와 서버 간의 인증 정보를 안전하게 전달하는 데 사용한다.JWT의 사용자 인증을 보다 간편하고 안전하게 처리하기 위해 만들어졌으며, 특히 마이크로서비스 아키텍처와 같은 분산 시스템에서의 인증 문제를 해결하고, 클라이언트와 서버 간의 정보 교환을 표준화하기 위해 도입되었다. JWT의 구조헤더(header): 토큰의 유형과 서명 알고리즘을 정의.페이로드(payload): 사용자 정보 및 클레임(claims) - (전반적인 토큰 관련 정보, 속성)을 포함.서명(signature): 헤더와 페이로드를 기반으로 비밀키로 생성..

2401113 소프트웨어 설계 패턴소프트웨어 설계 패턴은 소프트웨어 개발 중 자주 직면하는 문제를 해결하기 위한 유용한 솔루션이다. 이 패턴들은 소프트웨어의 구조와 유지보수성을 개선하는 데 초점을 맞추고 있으며, 설계 패턴을 잘 활용하면 효과적이고 유연한 소프트웨어를 제작할 수 있다. 생성 패턴 (Creational Patterns)생성 패턴은 객체 생성 메커니즘을 다루며, 객체의 생성 과정을 추상화하여 코드의 유연성과 재사용성을 높이는 형식이다. 싱글턴 패턴 (Singleton Pattern): 클래스의 인스턴스가 오직 하나만 존재하도록 보장.팩토리 메서드 패턴 (Factory Method Pattern): 객체 생성의 인터페이스를 정의하고, 서브클래스에서 어떤 객체를 생성할지를 결정.추상 팩토리 패턴..

2401104 HTTPS(HyperText Transfer Protocol Secure) 통신HTTPS는 HTTP(하이퍼텍스트 전송 프로토콜)에 보안 기능을 추가한 프로토콜이다.기본적으로 HTTP는 클라이언트와 서버 간의 데이터 전송을 담당하지만, 이 과정에서 데이터가 암호화되지 않아 해커나 제삼자가 쉽게 가로챌 수 있어서 SSL(Secure Sockets Layer) 또는 TLS(Transport Layer Security)라는 암호화 기술을 사용하게 되었다. HTTPS는 HTTP통신 부분을 직접 TCP와 통신하지 않고 SSL과 통신을 한다.➡️전송 계층과 응용 계층 사이에서 데이터의 보안을 제공하는 프로토콜로, OSI 모델에서 독립적인 계층으로 존재하지 않지만, 두 계층의 기능을 결합하여 안전한 통신..
240911 HTTP 통신 메서드 중 PUT과 PATCH의 차이점PUT전체 업데이트 PUT 메서드는 지정된 리소스를 전체적으로 업데이트한다. 즉, 클라이언트가 서버에 보내는 요청 본문에 포함된 모든 필드가 리소스의 새로운 상태로 대체된다.무상태성리소스가 존재하지 않을 경우, PUT 요청은 새로운 리소스를 생성할 수도 있다.예시사용자의 정보를 업데이트할 때, 모든 필드를 포함하여 요청해야 한다. 만약 일부 필드만 포함하면, 나머지 필드는 삭제된다. PATCH부분 업데이트 PATCH 메서드는 리소스의 일부만 업데이트한다. 즉, 클라이언트가 보내는 요청 본문에 포함된 필드만 수정된다.효율성필요한 데이터만 전송하므로 대역폭을 절약가능하다.예시사용자의 이메일 주소만 변경하고 싶다면, 이메일 필드만 포함하여 요청할..
240905 인증(Authentication)란? 인증은 사용자가 자신이 누구라고 주장하는지를 검증하는 과정이다. 쉽게 말해서, 서비스의 사용자로 인정받는 것이다. 인증의 예시: 비밀번호, 생체인식, OTP, JWT(JSON Web Token) 등 권한(Authorization)란?권한은 인증 후에 사용자가 어떤 행동을 할 수 있는지를 결정하는 과정이다.즉, 인증 이후에 주어진 역할이나 접근 가능한 데이터 범위 내에서만 행동할 수 있게 제한하는 것이다. 권한의 예시: 읽기, 쓰기, 관리자 권한 등인증과 권한의 차이점둘다 정보 시스템의 안전성을 높이고, 사용자와 데이터의 보호를 강화하는 데 중요한 역할 하지만둘의 차이는 인증은 “누구?”라는 질문에 대한 답변이고, 권한은 “사용자가 무엇을 할 수 있느냐..

240904 토큰(Token)인증 및 권한 부여에 사용되는 데이터. 주로 JWT(JSON Web Token) 형태로 사용됨.장점:무상태(Stateless) 방식의 특성으로 서버의 부하를 줄임.➡️ 상태를 보존하지 않음.다양한 도메인 간의 인증에 유용.단점:만료 시간 설정이 필요하며, 관리가 복잡할 수 있음.민감한 정보가 포함될 경우 보안에 취약할 수 있음.사용 이유: API 인증 및 권한 부여, 특히 마이크로서비스 아키텍처에서 사용 캐시(Cache)자주 요청되는 데이터나 페이지를 임시로 저장하여 빠르게 제공하는 기술.장점:성능 향상 (빠른 응답 시간).서버 부하 감소.단점:데이터가 오래된 상태로 유지될 수 있음.캐시 무효화 관리가 필요함.사용 이유: 웹사이트의 속도와 효율성을 높이기 위해.
240902 목차 쿠키(Cookie)클라이언트(브라우저)에 저장되는 작은 데이터 조각. 서버가 클라이언트에게 설정하며, 주로 사용자 정보나 설정을 저장하는 데 사용됨. ➡️ 사용자의 컴퓨터에 저장 장점:클라이언트 측에서 데이터를 저장하므로 서버의 부하를 줄일 수 있음.지속적인 사용자 경험 제공 (예: 로그인 상태 유지 등).단점:크기 제한 (일반적으로 4KB).보안 취약점 (예: XSS 공격).주된 사용 이유: 사용자 맞춤형 경험 제공 및 세션 정보를 유지하기 위해. 세션(Session)서버 측에 저장되는 사용자 상태 정보. 사용자가 웹사이트에 접속하는 동안의 정보를 담고 있음.장점:보안성이 높음 (서버에서 관리).크기 제한이 거의 없음 (서버 용량에 따라 다름).단점:서버 메모리를 사용하므..