HTTP 요청(Request) / 응답(Response)
·
Web
HTTP란?HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜웹에서 클라이언트와 서버 간의 통신을 위한 기본적인 프로토콜HTTP 요청GET /home.html HTTP/1.1Host: developer.mozilla.orgUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:50.0) Gecko/20100101 Firefox/50.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: en-US,en;q=0.5Accept-Encoding: gzip, deflate, brReferer: https://developer.mozilla.or..
해시 알고리즘
·
Web/웹 보안
정의해시 알고리즘은 임의의 길이의 데이터를 고정된 길이의 해시 값(혹은 해시 코드)으로 변환하는 수학적 함수.주로 데이터의 무결성을 검증하거나, 암호화에서 비밀번호를 안전하게 저장하는 데 사용.특징고정 길이 출력: 입력 데이터의 길이에 관계없이 항상 일정한 길이의 해시 값을 생성일관성: 동일한 입력에 대해 항상 동일한 해시 값을 생성충돌 저항성: 서로 다른 입력이 같은 해시 값을 생성하는 것을 피해야 함.비가역성: 해시 값을 통해 원래 데이터를 복원할 수 없어야 함.빠른 계산: 해시 값을 빠르게 계산할 수 있어야 함.구조입력 데이터: 해시할 데이터.해시 함수: 입력 데이터를 처리하여 해시 값을 생성하는 알고리즘.출력 해시 값: 고정된 길이의 해시 값.응용 분야데이터 무결성 검증: 파일이나 데이터가 전송 ..
JWT(JSON Web Token)란?
·
Web
토큰 기반 인증 정의사용자가 인증을 받은 후, 서버가 발급한 토큰을 사용하여 클라이언트가 요청을 인증하는 방식.클라이언트는 서버의 상태를 유지하지 않고, 토큰을 통해 인증 정보를 전달. 특징자체 포함성: 토큰이 필요한 모든 정보를 포함하므로, 서버가 클라이언트의 상태를 유지하지 않음.비교적 간단한 구현: 다양한 프로그래밍 언어와 프레임워크에서 쉽게 지원되어 구현이 간단함.서버 간 인증 지원: 마이크로서비스 아키텍처에서 각 서비스가 독립적으로 인증을 수행할 수 있도록 지원함.상태 비저장 (Stateless): 서버가 클라이언트의 세션 정보를 저장하지 않기 때문에, 서버 재시작 시에도 문제가 발생하지 않음.다양한 클라이언트 지원: 웹, 모바일, IoT 등 다양한 클라이언트에서 사용 가능함.토큰 만료 및 갱신..
쿠키 (Cookie) vs 세션 (Session)
·
Web
1. 쿠키 (Cookie) 정의쿠키는 웹 서버가 클라이언트(브라우저)에 저장하는 작은 데이터 조각키-값 쌍으로 구성되어 있음 쿠키의 HTTP 헤더  Cookie클라이언트가 서버에 요청을 보낼 때 포함되는 헤더클라이언트에 저장된 모든 쿠키가 이 헤더에 포함되어 전송목록 내 쌍들은 세미콜록과 공백('; ')으로 구분GET /sample_page.html HTTP/1.1Host: www.example.orgCookie: yummy_cookie=choco; tasty_cookie=strawberry  Set-Cookie서버가 클라이언트에 쿠키를 설정할 때 사용하는 헤더HTTP/1.0 200 OKContent-type: text/htmlSet-Cookie: yummy_cookie=chocoSet-Cookie: t..