본문 바로가기

Network33

TCP (HTTP/1.1, HTTP/2, Head-of-Line Blocking, 파이프라이닝 vs 멀티플렉싱) 1. HTTP/1.1 Baseline연결 과정: 클라이언트가 서버와 연결을 열고, 하나의 요청을 보내고 그에 대한 응답을 받습니다. 요청과 응답이 완료되면 다음 요청을 보냅니다.특징:직렬 처리: 각 요청은 응답을 받고 나서야 다음 요청을 보낼 수 있습니다.대기 시간: 첫 번째 요청이 완료될 때까지 두 번째 요청은 대기합니다. 이로 인해 **대기 시간(latency)**이 발생하게 됩니다.문제점: 네트워크 대기 시간 동안 요청을 기다려야 하기 때문에 비효율적입니다. 여러 요청이 있을 때 각 요청이 순차적으로만 처리됩니다.2. HTTP/1.1 Pipelining연결 과정: 클라이언트가 첫 번째 요청을 보내고, 응답을 기다리지 않고 두 번째, 세 번째 요청을 연달아 보냅니다. 하지만 응답은 여전히 요청 순서대.. 2024. 10. 10.
JWT(JSON Web Token) 요즘 많은 웹 애플리케이션에서는 JWT(JSON Web Token)를 사용하여 인증과 권한 부여를 처리하는 것이 일반적입니다. 특히, 쿠키와 세션을 사용하는 전통적인 방식에서 JWT 기반 인증으로 많이 전환하는 추세입니다. 이 방식은 특히 API 기반 애플리케이션(RESTful API, SPA, 모바일 앱)에서 많이 사용됩니다.JWT(JSON Web Token)란?JWT는 클라이언트와 서버 간에 JSON 형식의 데이터를 토큰 형태로 주고받는 방법입니다. JWT는 토큰 기반 인증 방식으로, 사용자 인증 후 서버가 세션을 관리하지 않고, 클라이언트에 토큰을 발급하여 이후 요청을 처리하는 방식입니다.JWT는 세 가지 부분으로 구성된 문자열로, 각 부분은 Base64로 인코딩되어 있습니다.Header: 토큰의 .. 2024. 10. 10.
로그인(Authentication) - 쿠키(Cookie), 세션(Session) 로그인(Authentication)과 쿠키(Cookie), 세션(Session) 개념은 웹 애플리케이션에서 사용자 인증 및 상태 유지를 위한 중요한 요소들입니다. 각각의 개념을 이해하면 웹 애플리케이션에서 사용자의 로그인 상태를 어떻게 유지하는지, 클라이언트와 서버 간의 데이터를 어떻게 관리하는지 알 수 있습니다.1. 로그인(Authentication)인증(Authentication)은 사용자가 누구인지 확인하는 과정입니다. 웹 애플리케이션에서는 사용자가 아이디와 비밀번호를 입력하여 로그인하면, 서버는 이 정보가 유효한지 확인합니다. 인증이 성공하면, 사용자는 애플리케이션에 접근할 수 있는 권한을 얻게 됩니다.인증(Authentication)의 주요 단계:사용자 정보 입력: 사용자가 아이디와 비밀번호 같.. 2024. 10. 10.
세션 어트리부트 - 서블릿 컨테이너에서 세션 관리, HTTP는 무상태 프로토콜 세션 어트리뷰트(Session Attribute)는 서블릿 컨테이너가 세션(Session)을 통해 클라이언트와 서버 간의 상태를 유지하기 위해 사용하는 데이터입니다. 기본적으로 HTTP는 무상태(stateless) 프로토콜이기 때문에, 클라이언트와 서버가 한 번의 요청-응답 이후에는 연결이 끊기고, 그 전에 주고받은 데이터를 기억하지 않습니다. 그러나 세션을 사용하면 여러 요청 간에 사용자 상태 정보를 유지할 수 있습니다.1. HTTP는 무상태 프로토콜HTTP는 무상태 프로토콜이기 때문에, 각 요청은 독립적입니다. 서버는 이전에 클라이언트와 어떤 상호작용을 했는지 알 수 없으며, 각 요청은 처음 요청하는 것처럼 처리됩니다. 이 무상태성으로 인해, 로그인 상태 유지나 사용자 정보 저장과 같은 기능이 기본적.. 2024. 10. 10.
RESTful API (OPEN API) RESTful API는 REST(Representational State Transfer) 원칙을 따르는 API(Application Programming Interface)를 의미합니다. REST는 HTTP 프로토콜을 기반으로 클라이언트와 서버 간에 데이터를 주고받기 위한 아키텍처 스타일입니다. RESTful API는 HTTP 메서드(GET, POST, PUT, DELETE 등)를 활용하여 서버의 리소스(데이터)에 접근하고 조작할 수 있는 방법을 제공합니다.1. REST란?REST는 로이 필딩(Roy Fielding)이 2000년에 제안한 아키텍처 스타일로, HTTP와 같은 기존 웹 표준을 기반으로 클라이언트와 서버 간의 통신을 단순화하고 효율적으로 만들기 위해 고안되었습니다.REST의 핵심 개념은 리.. 2024. 10. 8.
URL(Uniform Resource Locator) URL(Uniform Resource Locator)은 통합 자원 식별자로, 인터넷에서 특정 자원(웹 페이지, 이미지, 파일 등)의 위치를 가리키는 주소입니다. URL을 사용하면 웹 브라우저나 애플리케이션이 특정 서버에 있는 리소스에 접근할 수 있습니다. URL은 웹에서 리소스에 접근할 수 있는 경로를 제공하는 기본적인 방법입니다.💡 URL의 구성 요소URL은 여러 요소로 이루어져 있으며, 각 부분은 자원에 대한 정보를 제공하거나, 서버에 요청하는 방식을 지정합니다. 일반적인 URL의 형태는 다음과 같습니다:프로토콜://사용자정보@호스트:포트/경로?쿼리#프래그먼트1. 프로토콜(Protocol):자원에 접근하기 위한 방식을 나타냅니다. 주로 사용되는 프로토콜은 HTTP, HTTPS가 있으며, 파일 시스템.. 2024. 10. 8.