rsp-∞
Cookie & Session 및 SOP 주요 이론 정리 본문
1. HTTP 프로토콜 특징
Connectionless | 하나의 요청-응답 후 연결이 종료되고, 이후의 요청은 새로운 연결로 처리함 |
Stateless | 서버는 이전 요청의 상태를 저장하지 않으며, 요청마다 새로운 정보를 전달해야 함 |
서버가 클라이언트를 기억하지 못하므로, 지속적인 사용자 인증이 어렵다는 한계가 있다.
2. 쿠키 (Cookie)
- 서버가 클라이언트에 저장하는 Key-Value 형식의 데이터
- 이후 클라이언트가 요청할 때 해당 쿠키를 서버에 포함하여 보냄.
- 서버는 쿠키를 이용해 사용자를 식별하고 상태를 유지함.
용도는 다음과 같다.
정보 기록 | 7일 간 표시하지 않기 등의 설정을 저장 |
상태 유지 | 로그인 상태를 유지하거나 사용자 맞춤 설정 정보를 저장 |
3. 쿠키 변조 문제
- 쿠키는 클라이언트에 저장되므로, 변조될 위험이 있음. 예를 들어 인증 정보를 쿠키에 직접 저장하면, 공격자가 수정하여 다른 사용자로 위장할 수 있음.
- 이러한 문제를 해결하기 위해 고안된 것이 세션임.
4. 세션 (Session)
- 클라이언트 인증 정보를 서버에 저장하고, 클라이언트에는 세션 ID(랜덤 문자열)만 전달.
- 클라이언트는 세션 ID를 쿠키에 저장하고 서버에 전달.
- 서버는 해당 세션 ID를 조회하여 인증 정보를 확인.
- 클라이언트가 직접 데이터를 수정할 수 없어 보안성이 높음.
5. 동일 출처 정책 (Same Origin Policy, SOP)
- 보안 강화를 위해 다른 출처(origin)에서 데이터를 가져오는 것을 제한하는 정책
- 오리진 구성 요소 : 프로토콜 + 호스트 + 포트(이 세 가지가 모두 동일해야 같은 출처로 인식)
6. 교차 출처 리소스 공유 (CORS)
CORS
- 서버가 HTTP 응답 헤더를 설정하여 특정 출처에서 리소스를 요청하는 것을 허용하는 방식
JSONP (JSON with Padding) : CORS가 고안되기 전까지 사용, 현재는 보안 취약점이 많아 사용 X
- <script> 태그를 이용해 다른 출처의 데이터를 요청함.
- Callback 함수를 활용하여 데이터를 처리함.
'ACADEMY > web' 카테고리의 다른 글
웹 기초 주요 이론 정리 (0) | 2025.03.26 |
---|