본문 바로가기

Network33

로드밸런싱과 클러스터링 로드밸런싱과 클러스터링은 대규모 웹 애플리케이션에서 고가용성과 확장성을 보장하기 위해 자주 사용되는 중요한 기술입니다. 이 두 개념은 시스템의 성능을 향상시키고, 트래픽이 증가해도 원활하게 서비스를 제공할 수 있도록 설계된 환경을 의미합니다.💡 로드밸런싱 (Load Balancing)로드밸런싱은 여러 서버에 트래픽(요청)을 분산하여 한 서버에 과부하가 걸리지 않도록 관리하는 기술입니다. 즉, 다수의 서버가 동일한 작업을 수행할 수 있게 설정하고, 클라이언트의 요청을 여러 서버로 균등하게 분배하는 역할을 합니다.로드밸런싱의 역할트래픽 분산: 사용자로부터 들어오는 요청을 여러 서버에 골고루 분배하여 한 서버에만 과부하가 걸리지 않게 합니다.고가용성: 한 서버가 다운되거나 문제가 발생해도 다른 서버들이 요청.. 2024. 10. 8.
정적, 동적 서버 정적 서버(Static Server)와 동적 서버(Dynamic Server)는 서버가 클라이언트에게 제공하는 콘텐츠의 유형과 처리 방식에 따라 구분됩니다. 이 두 가지는 웹 애플리케이션을 구성하는 데 중요한 역할을 하며, 서로 다른 용도로 사용됩니다.1. 정적 서버(Static Server)정적 서버는 클라이언트(웹 브라우저)의 요청에 대해 변하지 않는 정적인 파일을 그대로 반환하는 서버입니다. 여기서 "정적"이라는 의미는 서버에서 생성된 콘텐츠가 고정되어 있으며, 사용자 요청에 따라 변하지 않는다는 것을 의미합니다.특징:변하지 않는 콘텐츠: 정적 서버는 HTML, CSS, 이미지, JavaScript 파일과 같은 미리 준비된 파일을 클라이언트에게 전송합니다. 이러한 파일은 서버 측에서 처리되지 않고 .. 2024. 10. 7.
쿠키, 세션, JSON 웹 토큰(JWT) 1. 쿠키(Cookie)쿠키는 클라이언트(브라우저)에 저장되는 작은 데이터 조각으로, 서버가 클라이언트의 상태 정보를 기억하기 위해 사용합니다. 주로 서버가 클라이언트에게 응답할 때, 클라이언트에게 쿠키를 설정해 두면 이후 클라이언트가 서버에 요청을 보낼 때 쿠키를 자동으로 포함하게 됩니다.용도: 로그인 상태 유지, 세션 ID 저장, 사용자 선호 설정 등을 저장.특징: 클라이언트 측에 저장되며, 요청 시마다 서버로 자동 전송됨.단점: 클라이언트 측에 저장되므로 보안에 취약할 수 있음.2. 세션(Session)세션은 서버 측에서 유지되는 사용자 상태 정보입니다. 사용자가 서버에 로그인하면 서버가 세션을 생성하고, 클라이언트는 세션 ID를 쿠키에 저장하여 요청 시마다 이 세션 ID를 서버로 전송합니다. 서버.. 2024. 9. 30.
HTTP, HTTP/2, HTTP/3의 차이점 HTTP/1.1, HTTP/2, 그리고 HTTP/3는 웹에서 데이터를 전송하는 데 사용되는 프로토콜로, 각각의 버전은 성능과 효율성을 개선하기 위해 진화해왔습니다. 각 버전의 차이를 자세히 알아보면 다음과 같습니다.1. HTTP/1.1HTTP/1.1은 현재까지도 많이 사용되는 프로토콜 버전입니다. HTTP/1.0의 문제점을 해결하기 위해 등장했으며, 새로운 웹 환경에 맞게 여러 기능들이 추가되었습니다.주요 특징:요청/응답 모델: HTTP/1.1은 요청과 응답이 1:1로 이루어지는 방식입니다. 클라이언트가 요청을 보내면, 서버는 그 요청에 대한 응답을 보내고, 그 과정이 끝나면 연결이 종료됩니다.지속 연결(persistent connection): HTTP/1.0에서는 요청을 할 때마다 새로운 TCP 연결.. 2024. 9. 30.
텍스트 인코딩 방식과 HTTP의 발전 1. 텍스트 인코딩 방식텍스트 데이터를 컴퓨터에서 저장하고 처리할 때, 다양한 인코딩 방식이 사용됩니다. 이 중 대표적인 인코딩 방식은 ASCII와 **유니코드(UTF-8, UTF-16)**입니다.1) ASCIIASCII(American Standard Code for Information Interchange)는 가장 기본적인 텍스트 인코딩 방식입니다.7비트를 사용해 128개의 문자(영문 알파벳, 숫자, 기본 특수 문자 등)를 표현할 수 있습니다.확장 ASCII는 8비트를 사용해 256개의 문자를 지원합니다.초기 컴퓨터 시스템에서 많이 사용되었으나, 다국어를 처리하는 데 한계가 있습니다.2) 유니코드(Unicode)유니코드는 전 세계 모든 문자를 하나의 표준으로 정의한 인코딩 방식입니다.UTF-8과 U.. 2024. 9. 29.
HTTP 요청/응답 구조 (프로토콜, 메서드) HTTP는 클라이언트(주로 웹 브라우저)와 서버 간에 이루어지는 요청/응답(Request/Response) 기반의 통신 프로토콜입니다. HTTP 통신에서 요청(Request)과 응답(Response)은 각각 헤더(Header)와 바디(Body)로 구성됩니다. HTTP 요청(Request) 구조요청 라인(Request Line):HTTP 메서드, 요청할 URL, 사용된 HTTP 버전을 포함합니다.예시: GET /index.html HTTP/1.1헤더(Header):요청에 대한 메타데이터를 포함하며, 각 헤더는 이름과 값으로 이루어져 있습니다.예시 헤더:Host: 요청 대상 서버의 도메인 이름 (예: Host: www.example.com)User-Agent: 클라이언트의 정보 (브라우저, 운영체제 등)Ac.. 2024. 9. 27.