- 
웹 통신 구조 
- 웹은 클라이언트(브라우저)와 서버 간의 통신으로 동작하며, 그 핵심은 HTTP 프로토콜이다.
- Request (요청)
- 사용자가 서버에 데이터를 요청하는 구조
- 구성요소: Method(GET/POST 등), URL, Header, Body
 
- Response (응답)
- 서버가 클라이언트의 요청에 대한 결과를 반환
- 구성요소: Status Code, Header, Body
 
 
- 
상태 관리 
- 쿠키
- 저장위치 : 브라우저(서버로 자동 전송)
- 수명 : 설정된 만료 시점
- 목적 : 인증, 추적
 
- 세션
- 저장 위치 : 서버
- 수명 : 브라우저 종료 시
- 목적 : 사용자 상태 유지
 
- 로컬스토리지
- 저장 위치 : 브라우저 로컬
- 수명 : 삭제 전까지
- 목적 : 클라이언트 데이터 저장
 
 
- 
DOM(Document Object Model) 
- HTML 문서의 구조를 객체 트리 형태로 표현한 모델
- JavaScript를 통해 동적으로 요소를 수정 가능
 
- 
AJAX (Asynchronous JavaScript and XML) 
- 서버와 비동기 통신을 하며 전체 페이지를 새로 고침하지 않음
- XMLHTTPRequest기반
 
- 
Fetch API 
- 최신 표준 방식
- Promise 기반으로 직관적 사용 가능
 
- 
SQL (Structured Query Language) 
- 데이터베이스와 직접 통신
- 취약점: SQL Injection
 
- 
ORM (Object-Relational Mapping) 
- 객체지향적으로 DB 제어 가능 (Ex: Django ORM)
- SQL 인젝션 방지에 도움은 되나, 완전한 보안은 아님
 
- 
입력값 검증 (Input Validation) 
- 모든 사용자 입력은 반드시 서버단에서 검증해야 함
- 검증 요소: 길이, 타입, 포맷, 특수문자 필터링 등
 
- 
세션 관리 (Session Management) 
- 로그인 상태 유지를 위해 사용
- 일반적으로 서버가 생성한 Session ID를 브라우저의 쿠키에 저장
 
- 
보안 지침 
- 세션 탈취 방지를 위해 HTTPS, HttpOnly, Secure 옵션 사용
- 로그인 후 세션 재생성 권장
- 세션 타임아웃 설정