
쿠키란 하이퍼 텍스트의 기록서의 일종으로서 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 그 사이트가 사용하고 있는 서버를 통해 인터넷 사용자의 컴퓨터에 설치되는 작은 기록 정보 파일을 일컫는다. HTTP 쿠키, 웹 쿠키, 브라우저 쿠키라고도 한다.key=value 쌍의 문자열로 구성된 작은 임시파일세션 쿠키 : 사용자가 웹 사이트를 방문하고 있는 동안 메모리에 저장되는 쿠키. 임시 쿠키, 인메모리 쿠키라고도 하며 사용자가 웹 브라우저를 닫을 때 삭제되며, 별도의 만료일자나 유효기간이 설정되지 않은 쿠키가 세션 쿠키로 간주됨영구 쿠키 : 서버에 의해 만료 일시나 유효기간이 설정된 키이며 사용자의 하드디스크에 저장된다. 웹 브라우저가 닫힐 때 삭제되는 세션 쿠키와는 달리 설정된 만료 일시가 종료되거나 유효 기간이 종료되었을 때 삭제됨Set-Cookie: Cookie-name=Some-Value;
Expires: 쿠키의 유효기간Domain: 웹 브라우저에 의해 쿠키가 전송될 도메인 결정 쿠키를 발급하는 도메인의 최상위 도메인과 그 하위 도메인에만 설정 가능Path: 웹 브라우저에 의해 쿠키가 전송될 URL 경로 결정Secure : HTTPS를 통한 암호화된 연결인 경우에만 쿠키를 전송하도록 설정HttpOnly: 클라이언트 측에서 자바스크립트를 통해 쿠키에 접근할 수 없도록 설정SameSite: 크로스 도메인을 통한 요청에 쿠키를 포함시킬지 여부Lax: 크로스 도메인이라도 Get 요청인 경우 쿠키 전송Strict: 자기 자신에서 발생한 요청인 경우에만 쿠키 전송None: 모든 크로스 도메인 요청에서 쿠키 전송
쿠키: 세션 토큰을 저장하기 위해 사용숨겨진 폼 필드: 서버는 클라이언트에게 전송될 HTML 폼의 숨겨진 필드에서 세션 토큰을 동적으로 포함 클라이언트가 다시 폼을 제출할 때 다시 서버로 전송됨URL 재작성: 클라이언트로부터 요청되는 URL에 고유한 세션 토큰을 동적으로 포함. 웹사이트에 포함된 모든 a태그의 href나 form 태그의 action 속성에 들어갈 URL에 고유한 세션 토큰을 포함함

SHA256과 같은 함호화 해시를 통해 구성, 길이 최소 128bits 이상이어야 하며, 무작위성 보장, 사용자 식별에 용이하도록 고유해야 함Domain & Path: 쿠키가 전송될 도메인과 경로를 최대한 제한적으로 설정Secure: HTTPS 연결인 경우에만 쿠키를 정송하도록 설정HttpOnly: 스크립트를 통해 쿠키에 접근할 수 없도록 설정Expires & Max-Age: 두 속성을 미설정하여 세션 쿠키를 사용, 사용 시 만료 일시나 유효 기간을 제한적으로 설정SameSite: 크로스 도메인간 쿠키를 전송할 수 없도록 설정디코딩이란?
인코딩된 형식을 다시 원래의 형식으로 변환하는 기술이나 과정

이중 인코딩은 웹 서버와 웹 애플리케이션에서 각각 URL 디코딩을 수행하는 경우 입력값을 두 번 URL 인코딩하는 기법

HTML 문서에 포함되는
<,>와 같이 특수한 기능을 하는 문자의 악의적인 활용을 방어하기 위해 스크립트 실행에 이용될 수 없도록 인코딩하고 HTML 문서 안에서 안전하게 표시하기 위해 사용하는 인코딩 기법

+, / 기호로 구성= 또는 ==를 사용 (원본보다 33% 정도 크기 증가)1) 각 글자를 8bit의 블럭으로 나눈다.
2) 8bit 단위의 블럭 3개를 결합해 24bit의 그룹을 만든다.
3) 24bit의 그룹은 다시 6bit 단위의 개별 그룹으로 나눈다.
4) 각 6bit 단위의 개별 그룹을 색인표에 따라 변환한다.
5) 24bit 그룹 구성 시 8bit 단위로 채워지지 않고 누락되는 경우 글자수만큼 =로 채운다.


유니코드 인코딩
전 세계의 모든 문자를 이기종 시스템 환경이나 다국어 언어 환경의 컴퓨터에서 일관되게 표현하고 처리하기 위한 국제 표준
유니코드 인코딩(UTF-8)
원본 문자의 유니코드 값의 길이에 따라 가변적으로 최소 1byte에서 최대 6byte로 저장

