티스토리 뷰

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이라도 쿠키 전송

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
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
글 보관함