네트워크 (10) 썸네일형 리스트형 [네트워크] 쿠키와 세션 HTTP 프로토콜의 특징과 쿠키 및 세션의 역할웹 애플리케이션을 개발할 때, HTTP 프로토콜은 우리가 가장 많이 사용하는 프로토콜입니다. 하지만 HTTP 프로토콜에는 몇 가지 문제점이 존재하는데, 그 중에서 가장 큰 두 가지가 바로 ConnectionLess와 StateLess입니다. 이러한 문제들을 해결하기 위해 등장한 것이 쿠키(Cookie)와 세션(Session)입니다. HTTP 프로토콜의 특징ConnectionLess (연결 지향적이지 않음)HTTP는 ConnectionLess 프로토콜입니다. 즉, 클라이언트가 서버에 요청을 보낼 때마다 새로운 연결을 맺고, 요청이 끝나면 연결을 끊습니다. 이 말은, 서버는 클라이언트와의 연결을 지속적으로 유지하지 않으며, 각 요청이 독립적이라는 뜻입니다. 예를.. [네트워크] JWT(Json Web Token) JWT (JSON Web Token)란?JWT는 JSON Web Token의 약자로, JSON 형식의 데이터를 사용해 자가 포함(Self-contained) 방식으로 정보를 안전하게 전달하는 토큰 기반 인증 방식입니다. JWT는 URL, HTTP 헤더, HTML Form 등 다양한 방식으로 전송할 수 있으며, 서버와 클라이언트 간의 인증 정보를 담아 통신합니다. JWT의 구성JWT는 Header, Payload, Signature의 세 가지 부분으로 구성되며, 각 부분은 Base64 URL 인코딩되어 마침표(.)로 구분됩니다. 예를 들어, 다음과 같은 형태를 가집니다:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 // HEADER.eyJ1c2VySWQiOjEyMywiZXhwIjoxN.. [네트워크] 동기, 비동기, Blooking, Non-Blooking 동기 (Synchronous)정의: 작업이 순차적으로 실행되며, 하나의 작업이 완료될 때까지 다음 작업이 기다립니다.예시:자바스크립트의 alert() 함수는 실행되는 동안 다른 작업을 막음서버에서 데이터를 받아올 때 응답이 오기 전까지 화면이 멈추는 경우장점직관적: 코드가 순차적으로 실행되기 때문에 이해하기 쉽고 디버깅이 용이예측 가능성: 실행 순서를 예측하기가 쉽고, 특정 시점에서 상태를 파악하기가 간단함단점속도 저하: 하나의 작업이 오래 걸리면 전체 프로세스가 멈추고 기다려야 함블로킹 문제: 느린 작업(예: 네트워크 요청)이 있는 경우 사용자 경험이 저하됨 비동기 (Asynchronous)정의: 작업을 요청한 후 완료를 기다리지 않고 다음 작업을 계속 수행하며, 나중에 결과가 준비되면 이를 처리합니다.. [네트워크] HTTP 쿠키 cookie 쿠키는 웹 브라우저와 웹 서버 간에 상태 정보를 유지하기 위한 기술로, 사용자의 브라우저에 저장되는 작은 데이터 저장소입니다. 저장할 수 있는 크기는 대부분 최대 4KB이며 도메인당 저장할 수 있는 쿠키 수 또한 제한됩니다.(일반적으로 20~50개라고 하네요) 서버는 쿠키를 통해 사용자의 상태 정보를 관리하고, 클라이언트의 요청을 보낼 때마다 해당 정보를 서버에 전송하여 사용자 상태를 유지합니다. 쿠키는 HTTP 헤더의 Set-Cookie와 같은 헤더를 통해 서버에서 클라이언트로 전송됩니다. 기본적으로 쿠키는 key-value 쌍으로 구성되며, 이름, 값, 유효 기간, 도메인, 경로 등의 정보를 포함합니다.쿠키의 특징클라이언트 측 저장:쿠키는 클라이언트의 브라우저에 저장되며, 서버가 클라이언트의 상태 정.. [네트워크] HTTP Session HTTP Session이란?HTTP 세션은 웹 애플리케이션에서 사용자 정보를 일정 시간 동안 유지하기 위한 기술입니다.세션은 사용자가 웹 애플리케이션에 접속한 뒤 로그인 상태를 유지하거나 사용자 활동을 추적하는 데 사용됩니다. HTTP Session의 특징Stateless 문제 해결HTTP 프로토콜은 Stateless(상태 비저장) 특성을 가지며, 서버는 각 요청이 서로 독립적입니다.이를 해결하기 위해, 사용자가 인증된 이후 서버는 세션 ID를 발급하여 사용자의 상태를 유지합니다.세션 ID를 통해 서버는 사용자를 식별하고, 매 요청마다 재인증 없이 동일한 사용자로 간주할 수 있습니다.쿠키와의 연계세션 ID는 쿠키를 통해 클라이언트에게 전달됩니다.이후 클라이언트는 매 요청 시 해당 쿠키를 서버에 전송하여.. [네트워크] 웹 인증이란? 웹 인증이란?웹 애플리케이션에서 사용자의 정체성을 확인하고 적절한 권한을 부여하는 과정입니다.사용자가 누구인지 식별하고, 해당 사용자가 특정 자원이나 서비스에 접근 권한이 있는지 확인하여 무단 접근을 방지하는 중요한 보안 요소입니다. 웹 인증이 필요한 이유 예시글 삭제관리자나 작성자가 아닌 제3자가 글을 무단으로 삭제하거나 수정하려고 할 때, 해당 권한을 확인해야 합니다.관리자 페이지관리자 페이지에 접근하기 위해서는 관리자 권한이 필요합니다.권한이 없는 사용자는 접근이 불가능해야 합니다. 웹 인증 절차1. 사용자 등록사용자가 아이디와 비밀번호 같은 인증 정보를 서버에 전송합니다.서버는 해당 정보를 안전하게 저장합니다.2. 사용자 인증사용자는 아이디와 비밀번호 등을 통해 인증을 시도합니다.서버는 해당 .. [네트워크] OSI 7계층 OSI 7계층이란?OSI 7계층(Open Systems Interconnection 7-Layer Model)은 네트워크 통신을 이해하고 설계하는 데 도움을 주기 위해 만들어진 모델입니다. 각 계층은 자신만의 역할을 수행하며 OSI 7계층을 통해 서로 다른 네트워크 장치 간의 데이터 교환을 이루어지게 합니다. 즉, 서로 다른 네트워크끼리 통신을 할 수 있게 도와주는 모델인 것입니다. OSI 7계층(Open Systems Interconnection 7-Layer Model)은 네트워크 통신의 복잡성을 나누어 설명하기 위해 만들어진 참조 모델입니다. 이 모델은 각 계층이 서로 독립적으로 동작하면서도 상호작용할 수 있도록 구성되어 있으며, 네트워크 문제 해결과 설계, 구현에 도움을 줍니다. OSI 모델의 핵.. [네트워크] URL의 구조 URL (Uniform Resource Locator)URL은 Uniform Resource Locator의 약자로, 웹상의 리소스(문서, 이미지, 동영상 등)의 위치를 나타내는 주소입니다. URL의 구조URL은 다음과 같은 구성 요소로 이루어져 있습니다:http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument스키마://도메인 이름:포트 번호/리소스 경로?파라미터#앵커 구성 요소 설명1. 스키마스키마는 해당 주소에서 사용하는 프로토콜을 나타냅니다. 프로토콜은 클라이언트와 서버 간의 통신 규칙을 정의합니다. 주로 사용되는 프로토콜은 http(HyperText Transfer Protocol)과 .. 이전 1 2 다음