티스토리 뷰
1. TCP/IP(Transmission Control Protocol / Internet Protocol)
- 컴퓨터와 네트워크 장비가 데이터를 주고 받는 규칙(프로토콜)들
- TCP(전송 제어 프로토콜): 데이터를 정확하고 안정적으로 전달
- IP(인터넷 프로토콜) : 데이터를 어디로 보낼지 주소를 지정
- TCP/IP의 4계층
TCP/IP 계층 | 설명 | 대표 프로토콜 |
네트워크 인터페이스 계층 | 실제 물리적인 네트워크 연결 MAC 주소(물리적 주소)를 사용해 장치 식별 |
이더넷, Wi-Fi, ARP |
인터넷 계층 | IP 주소를 기반으로 데이터 전달 | IP, ICMP, ARP |
전송 계층 | 신뢰성 있는 데이터 전송 | TCP, UDP |
응용 계층 | 최종 사용자에게 서비스 제공 | HTTP, FTP, SMTP, DNS |
2. 쿠키의 탄생
- 웹은 초기 상태 관리를 하지 않았으나, Enterprise 환경에서 사용되기 위해 상태 관리가 필요해 지면서 Cookie가 도입됨.
- 쿠키는 브라우저에 저장된다
- 보안상 이슈가 있을 수 있으므로 쿠키는 Session 키만 가지고 있고, 서버에서 사용자 특화 정보를 메모리/DB 등으로 저장 관리하는 Session 방식이 사용됨
3. Cookie 동작 원리
- 클라이언트 : 개인정보 요청
- 서버 : 쿠키정보를 Header로 보내줌
- 브라우저: 쿠키로 저장 (Set-Cookie)
4. 쿠키의 특징
- 브라우저는 여러 개의 쿠키를 가질 수 있다
- 개별 쿠키는 고유한 key값으로 구분되고, value 값을 가질 수 있따
- request 할 때마다 계속 필요하므로, 가급적 최소한의 정보를 가지되 민감 정보를 담으면 안됨
5. 쿠키의 활용
- 세션 관리
- 개인화
- 트랙킹(클릭, 무슨 아이템 샀는지, 취향 등등)
6. 쿠키와 보안
- 쿠키정보를 암호활 할 경우 서버에서 복호화하는데 시간과 서버자원이 크게 소모되어 암호화 하지 않음
- 대신 쿠키 정보가 수정/변조 되었는지 확인 가능하도록 signed key 기반으로 인코딩한 singed cookie가 주로 활용됨
- 쿠키에 정보 자체는 담지 않고, 쿠키를 식별한 id (session id)만 쿠키로 전송하고, 상세 정보는 서버의 DB, Memory, Redis등에 저장하는 Session 메커니즘이 많이 활용됨
- 보안 강화를 위해 domain, httponly, secure, samesite 등 활용
* Httponly : 자바스크립단에서 막아버리는 것
** Redis란? Remote Dictionary Server, 빠른 속도를 위해 데이터를 메모리(RAM)에 저장하는 데이터베이스
- 주로 캐싱, 세션 저장, 메세지 큐, 실시간 데이터 처리에 사용된다
- 데이터를 디스크에 저장하여 영속성 지원가능, 멀티스레드 지원하지 않고, 싱글스레드 기반의 고속 성능 제공
- NoSQL Key-Value 저장소로 사용된다
7. 쿠키 유형
1) 도메인 구분에 따른 구분
- First Party Cookie : url을 입력해 방문한 사이트에서 발행된 쿠키 (쿠키 도메인 = 방문 사이트 도메인), 사용자 세션 관리, 개인화, 사용자 분석
- Third Party Cookie : 다른 사이트에서 생성된 쿠키, 개인화 광고, 소셜 미디어 통합, 사용자 분석 솔루션 등
2) 수명 주기에 따른 구분
- Session Cookie : 브라우저가 종료되면 사라지는 쿠키
- Permanent Cookie : 브라우저가 종료되어도 사라지지 않고 max age나 expiration에 지정된 시간동안 계속 유지되는 쿠키
8. 쿠키의 주요 파라미터
1) max_age : 쿠키 유지시간, 초 단위 정수형, 해당 시간이 지나면 삭제함
2) expires : 쿠키를 유지할 일시(일자+시분초), datetime이나 문자열을 입력값으로 받음
3) path : 쿠키가 적용되는 서버의 경로, 해당 서버의 지정된 path에 접속시에만 보내짐 ('/'는 전체)
4) domain: 쿠키가 유효한 도메인에 접속시에 보내짐
5) secure: True면 HTTPS 접속시에만 쿠키가 보내짐
6) Httponly : 거의 무조건 해야함. javascript에서 쿠키에 접근해서 sent할수 없게 함
7) samesite : 쿠키가 cross-origin(초기 접속과 다른 origin 접속)시 보내질 것인지를 설정
- Stric : 다른 origin에 보낼 수 없음
- Lax : link를 클릭하는 등 get request일 경우 보내지나, Iframe이나 image, javascript call로는 보내지지 않음
- None: 서로 다른 origin이라도 쿠키 전송
'AI > AI 서비스 개발' 카테고리의 다른 글
[AI 서비스 개발] 싱글톤 패턴, 클래스, 인스턴스, __new__, __init__, cls, self (0) | 2025.02.10 |
---|---|
[AI 서비스 개발] 비동기, 멀티스레딩, 멀티프로세싱, MSA (0) | 2025.02.05 |
[AI 서비스 개발] 도메인, 서브 도메인, CORS, HTTPS (0) | 2025.02.04 |
[AI 서비스 개발] AWS에 DB 생성하기 - Docker volumes, AWS RDS (0) | 2025.02.03 |
[AI 서비스 개발] crewai tool - SerperDevTool() (0) | 2025.02.02 |
- Total
- Today
- Yesterday
- 습관
- Python
- C언어
- 기초
- 오블완
- 갓생
- 스크랩
- 티스토리챌린지
- 30분
- 고득점 Kit
- opic
- 줄넘기
- Ai
- 실기
- 미라클모닝
- 아침
- IH
- 프로그래머스
- 경제
- SQL
- 루틴
- 뉴스
- 운동
- 다이어트
- ChatGPT
- 빅데이터 분석기사
- 영어회화
- llm
- 아침운동
- 오픽
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |