본문 바로가기

CS

[CS] CSR과 SSR 목차CSR (Client Side Rendering)SSR (Server Side Rendering)CSR vs SSR CSR (Client Side Rendering)CSR 정의 :비어있는 HTML을 브라우저가 자바스크립트를 실행해서 UI를 만들고 데이터를 가져와서 화면을 구성하는 방식입니다.(브라우저가 랜더링을 합니다.) CSR 작동 방식 : 1. 요청 : 클라이언트가 HTML을 요청 → 응답 : 서버는 비어있는 HTML과 JS가 존재하는 주소 링크를 응답2. 요청 : 클라이언트가 JS(클라이언트 로직, 렌더링 포함)를 요청 → 응답 : 서버는 JS를 응답3. 요청 : 클라이언트가 HTTP API 요청 (예: `/api/products`) → 응답 : 서버는 DB에서 데이터를 가져와, JSON.. 더보기
[CS] Servlet: 개념, 동작 순서, 그리고 Container 목차ServletServlet 동작 순서Servlet Container Servlet정의 :Java 언어로 작성된 서버 측 프로그램으로, 클라이언트의 요청(주로 HTTP 요청, Request)을 받아 처리한 후, 그에 대한 응답(Response)를 처리하는 역할을 합니다.웹 서버와 클라이언트(브라우저) 사이의 중개자 역할을 하며, 동적인 웹 페이지를 생성할 수 있게 해줍니다.웹 어플리케이션 개발의 핵심 기술중 하나입니다. 특징 :Java EE (Jakarta EE) 표준 API 중 하나`javax.servlet` 혹은 `jakarta.servlet` 패키지 사용HTML, JSON, XML 등 다양한 형식의 응답 생성 가능서블릿 클래스는 `HttpServlet` 클래스를 상속받아 구현 역할 :H.. 더보기
[CS] Web Server와 WAS, 각각의 역할 이해하기 목차Web ServerWAS(Web Application Server)Web Server와 WAS(Web Application Server)의 차이점실제 Web System 구성 Web Server정의 :클라이언트(주로 웹 브라우저)의 요청을 받아서, 그에 대한 응답(HTML, CSS, 이밎, JSON 등)을 보내주는 소프트웨어 혹은 하드웨어 시스템을 말합니다. 웹 서버 주요 역할1. HTTP 요청 처리 :클라이언트가 보낸 HTTP 요청(GET, POST 등)을 수신합니다.2. 콘텐츠 제공 :요청된 정적 파일(html, css, js, 이미지 등)을 제공하거나, 동적 콘텐츠를 애플리케이션 서버에 위임하여 응답을 전달합니다.3. 응답 전송 :요청 처리 후 결과(HTML 페이지, JSON, 에러 메.. 더보기
[CS] HTTP 지속 연결(Persistent Connection)의 등장 배경과 발전 목차HTTP는 본래 ConnectionlessHTTP 지속연결(Persistent Connections)HTTP/1.1의 Keep-Alive (Persistent Connections)HTTP/2의 Multiplexing HTTP는 본래 ConnectionlessHTTP는 애플리케이션 계층의 프로토콜입니다.기본적으로는 Stateless하고, Connectionless한 방식으로 설계되었습니다.→ 즉, 클라이언트가 요청을 보내면 서버는 응답 후 연결을 끊는 구조였습니다. ❗문제점(HTTP/1.0 기준)클라이언트가 웹페이지를 요청하는 경우 : index.html 요청 → 연결서버 응답 → 연결 종료CSS 요청 → 다시 연결JS 요청 → 또 연결이미지 요청들 → 각각 매번 연결👉 하나의 페이지를 구성.. 더보기
[CS] Connection & Connectionless 목차ConnectionConnectionless(비연결) Connection정의 : 통신 중에 상태(State)를 유지합니다. 서로 계속 연결된 상태에서 데이터를 주고받습니다.서버는 클라이언트와 연결을 유지하기 위해서 자원을 소모합니다.하지만, 수많은 사람들이 서비스를 이용해도 실제 서버에서 동시에 처리하는 요청은 작습니다.클라이언트 2, 3이 아무런 요청이 없어도 연결을 유지합니다. (자원 낭비) 대표 예시 :웹소켓 (WebSocket) : 한 번 연결되면 지속적으로 메시지 송수신SSH, Telnet : 로그인 후 세션을 유지DB 커넥션 풀 : 연결을 재사용하며 유지 특징 :지속적인 연결 유지서버가 클라이언트 상태를 기억 (Stateful)처리 속도는 느릴 수 있으나 연속적인 작업에 적합 장점.. 더보기
[CS] 서버 상태 관리의 두 방식: Stateless와 Stateful 목차Stateful (상태 유지)Stateless (무상태) Stateful (상태 유지)정의 : 클라이언트의 이전 상태(로그인 여부, 장바구니 정보 등)를 서버가 기억합니다. 예시 : 수강 신청 예수강생 : 수강 신청합니다. → 상담원 : 어떤 과목이요? (상태 유지)수강생 : 백엔드입니다. → 상담원 : 어떤 백엔드인가요? (상태 유지)수강생 : Spring입니다. → 상담원 : 신청이 완료되었습니다. (상태 유지) ✨ 상담원은 수강생의 요청들을 기억(상태 유지)하여 다음 질문들에 대한 처리가 가능하다. 특징 :서버가 클라이언트별 상태를 유지함클라이언트와의 연결이 지속되거나 세션이 유지됨 장점 :사용자 맞춤 서비스 제공 가능 (예: 로그인 상태 유지, 장바구니 유지 등) 단점 :확장성 및 .. 더보기
[CS] 서버 성능 향상 전략: Scale Up과 Scale Out 목차Scale UpScale Out Scale Up정의 : 기존의 서버에 더 좋은 CPU, 더 많은 RAM, 빠른 저장장치 등을 추가하여 단일 서버의 성능을 향상시키는 방법입니다. (수직적 확장)단일 서버의 하드웨어의 사용을 높인다. (CPU, Memory 등의 스펙을 높인다)요청에 대한 처리를 더욱 빠르게 할 수 있도록 만든다. 예 :4코어 CPU → 16코어 CPU 업그레이드16GB RAM → 64GB RAM 확장 장점 : 아키텍처 변경이 거의 없음 (기존 소프트웨어 수정이 적음)관리가 단순함 (서버 수가 늘어나지 않음) 단점 : 하드웨어 한계가 있음 (무한 업그레이드 불가)비용이 비싸질 수 있음 (고성능 장비는 급격히 비쌈)장애 발생 시 전체 서비스 영향 가능성 큼 Scale Out.. 더보기
[CS] 웹 주소 체계: DNS, URI, URL, URN 목차DNS(Domain Name System) URI(Uniform Resource Identifier) URL(Uniform Resource Locator) URN(Uniform Resource Name) DNS(Domain Name System)정의 : 도메인 이름을 IP 주소로 변환해주는 시스템 (실제 네트워크 인프라이다. 서버가 존재) 역할 : 사람이 기억하기 쉬운 도메인 주소(예: `google.com`)를 컴퓨터가 이해할 수 있는 IP 주소(예: `142.250.206.206`)로 바꿔주는 역할을 합니다. DNS 동작 순서1. 원하는 이름의 도메인을 구매 후 IP와 함께, DNS 서버에 등록합니다.2. 사용자가 도메인 명을 입력하면 DNS 서버는 도메인에 맞는 IP 주소를 반환합니다.. 더보기