전체 글 62

[CS지식] CORS란?

CORS란?내 웹사이트가 아닌 다른 출처(도메인, 포트, 프로토콜)의 서버에 있는 자원을 안전하게 가져가 쓸 수 있도록 허용해 주는 브라우저의 규칙 - 출처(Origin)의 정의: 프로토콜(http/https) + 도메인(naver.com 등) + 포트번호(3000, 8080 등)가 모두 같아야 '동일 출처'로 인정된다.- 문제 상황: 프론트엔드는 http://localhost:3000에서 돌고 있는데 벡엔드 API는 http://localhost:8080에서 열려 있다면? 브라우저는 서로 다른 출처로 판단하여 기본적으로 데이터를 차단한다.사용 시기?CORS 설정은 주로 프론트엔드와 벡엔드의 출처가 다를 때 반드시 마주하며 설정해야한다.1. 서로 다른 도메인이나 포트로 개발할 때로컬 환경에서 프론트엔드는..

CS 지식 17:01:18

[CS 지식] CDN이란?

CDN이란?전 세계 여러 곳에 미리 서버(캐시 서버)를 만들어 두고 사용자와 가장 가까운 곳에서 웹사이트 데이터(이미지, 동영상, css, js 등)를 대신 전달해주는 분산 서버쉽게 말하면:미국에 본사를 둔 유명 햄버거 가게(원본 서버)가 한국 손님들을 위해 한국에 직영점/물류창고(CDN 엣지 서버)를 세워두고 빠르게 재료를 배달해 주는 것사용 시기1. 글로벌 서비스를 운영할 때- 한국에 서버가 있는데 미국, 유럽, 일본 등 전 세계 사용자가 빠르게 접속해야 할 때2. 이미지/동영상 등 대용량 파일이 많을 때- 쇼핑몰, 스트리밍 서비스처럼 미디어 파일 요청이 엄청나게 몰릴 때3. 트래픽 폭주 및 디도스(DDoS) 공격에 대비할 때- 대규모 이벤트나 공격 시 원본 서버가 다운되지 않도록 방어막이 필요할 때..

CS 지식 2026.10.02

[CS 지식(보안)] XSS(Cross-Site Scripting)이란?

XSS란?웹 사이트의 허점을 노려 악성 JavaScript 코드를 삽입하는 공격 웹 브라우저는 웹 사이트에서 전달받은 스크립트를 신뢰하여 그대로 실행한다.공격자는 이 점을 악용해 사용자의 입력창(댓글, 검색창 등)에 정상적인 글 대신 악성 스크립트 코드를 집어넣는다.서버나 브라우저가 이 입력을 제대로 검증하지 않고 다른 사용자들에게 그대로 보여준다면 사용자의 브라우저에서 공격자의 악성 코드가 실행된다. 쉽게 이해하자면:게시판 댓글에 "잘 보고 갑니다!" 대신 를 적었는데 웹 사이트가 이걸 검증 없이 등록 한다면 다른 방문자들이 댓글창을 열었을 때 그 악성 코드가 자동으로 실행 될 수 있다.XSS 공격 종류1. 저장형 (Stored XSS)방식: 공격자가 게시글, 댓글, 프로필 정보 등 서버 DB에 저장되..

CS 지식 2026.10.02

[CS 지식] 리버스 프록시란?

리버스 프록시란?클라이언트의 요청을 대신 받아 뒤에 있는 실제 서버(들)에게 전달해주는 서버포워드 프록시와의 차이포워드 프록시는 클라이언트의 편에 서서 "누가 요청했는지"를 서버로부터 숨긴다.(사내망에서 외부 접속을 대리)리버스 프록시는 서버 편에 서서 "실제 서버가 몇 대인지, 어떤 구조인지"를 클라이언트로부터 숨긴다.사용시기?1. 보안을 강화하고 싶을 때- 실제 데이터가 들어있는 내부 웹 서버의 IP 주소를 외부에 노출하고 싶지 않을 때2. 트래픽이 많아 서버를 여러 대 돌릴 때- 접속자가 많아서 서버 1대로 감당이 안될 때 여러 서버로 요청을 나누어 주어야 하는 경우에 씀 (로드밸런싱 기능이 이 리버스 프록시라는 작동 방식을 이용해서 만든 것)3. SSL/TLS(HTTPS) 암호화 처리를 일괄 관리..

CS 지식 2026.09.30

[CS 지식] DNS란?

DNS란?사람이 기억하기 쉬운 도메인 이름(example.com)을 실제 통신에 필요한 IP 주소로 변환해주는 분산 시스템사용시기?1. 웹사이트 접속할 때- 브라우저 주소창에 google.com이나 naver.com 같은 주소를 입력하고 엔터를 누르는 순간 사용2. 스마트폰 앱을 실행할 때- 앱이 실행되면서 필요한 데이터를 가져오기 위해 서버(ex.api.instagram.com)에 연결 할 때 사용3. 게임이나 온라인 서비스 이용 시- 온라인 게임에 접속하거나 스트리밍 서비스에서 영상 데이터를 받아올 때 사용요약:컴퓨터는 142.250.196.142 같은 숫자(IP 주소)로만 상대를 찾을 수 있기 때문에 사람이 문자 주소를 입력할 때마다 중간에서 번역해 주는 역할로 DNS가 사용된다.DNS 작동 방식1..

CS 지식 2026.09.30

[CS 지식] 실시간 통신을 하는 방법들

실시간 통신이란?클라이언트(브라우저, 앱)와 서버가 연결을 유지하거나 주기적으로 확인하여 데이터가 발생하는 즉시 지연 없이 주고받는 통신 방식을 의미.무슨 방법들이 있는가 ?기술설명WebSocket양방향 통신을 지원하는 대표적인 표준 프로토콜SSE(Server-Sent Events)서버에서 클라이언트로만 데이터를 실시간 푸시하는 단방향 기술HTTP Polling(Short / Long Polling)클라이언트가 서버에 주기적으로 데이터 유무를 물어보는 방식WebRTC(Web Real-Time Communication)서버를 거치지 않고 브라우저 간(P2P)에 직접 음성/영상/데이터를 주고받는 기술사용시기?1. 즉각적인 데이터 동기화가 필요할 때 (WebSocket, HTTP Polling)사용자 간 입력..

CS 지식 2026.09.16

[CS 지식] SSL/TLS 암호화란?

SSL/TLS 암호화란?SSL(Secure Sockets Layer)과 TSL(Transport Layer Security)는 인터넷 통신에서 데이터를 암호화하여 주고받기 위한 보안 프로토콜이다. 과거에 사용 되던 SSL의 보안 취약점을 보완하여 발전시킨 표준이 TLS이다.사용시기?1. HTTP 서비스를 안전한 HTTPS로 전환할 때- 웹 사이트와 사용자 간의 전체 통신 구간을 암호화해야 할 때 사용한다.2. 개인정보 및 민감 데이터를 송수신 할 때- 로그인, 회원가입, 신용카드 결제, 계좌 이체 등 보안이 필수적인 긴으을 수행할 때 사용한다.3. 서버의 신원을 증명해야 할 때접속하려는 사이트가 가짜 피싱 사이트가 아닌 검증된 진짜 서버인지 디지털 인증서를 통해 확인해야 할 때 사용한다.4. 웹 외의 통..

CS 지식 2026.09.15

[CS 지식] OSI 7계층이란?

OSI 7계층이란?국제표준화기구(ISO)에서 개발한 모델로 네크워크 통신이 일어나는 과정을 7개의 단계로 표준화하여 정의한 네크워크 참조 모델계층별로 역할이 상호 독립적으로 나뉘어 있어 문제 발생 시 해당 계층만 파악하여 유지보수하기 용이하다.(예: 응용, 표현, 세션, 전송, 네트워크, 데이터 링크, 물리 계층)사용시기?1. 상위 계층을 다룰 때- 사용자 친화적 애플리케이션 및 인터페이스 개발웹 브라우저, 이메일 프로그램 등 사용자와 직접 상호작용하는 스프트웨어를 개발 할 때 사용한다.- 데이터 인코딩 및 보안 적용암호화(SSL/TLS), 데이터 압축, 파일 형식(JSON, XML 등)의 변환 및 세션 관리 요구사항이 있을 때 다룬다. 2. 하위 계층을 다룰 때- 안정적인 시스템 네크워크 구축 및 데이..

CS 지식 2026.09.15

[CS 지식] RDBMS와 NoSQL이란?

RDBMS와 NoSQL이란?RDMBS (Relational Database Management System):데이터를 행과 열로 구성된 엄격한 테이블 구조로 관리하며 테이블 간의 관계를 정의해 사용하는 관계형 데이터베이스(Ex.MySQL, PostgreSQL, Oracle)NoSQL (Not Only SQL):고정된 테이블 스키마가 없으며 Key-Value, Document, Graph 등 다양한 방식으로 자유롭게 데이터를 저장하는 비관계형 데이터베이스이다. (MongoDB, Redis, DynamoDB) 사용시기?RDBMS를 쓰는 경우:- 주문/결제/금융 시스템: 원자성(All or Nothing)이 보장되어 데이터 손실이나 왜곡이 절대로 없어야 할 때- 복잡한 관계 조회가 많은 서비스: 여러 테이블 ..

CS 지식 2026.09.09

[CS 지식] Kafka란?

Kafka란?대규모 분산 시스템 환경에서 서비스 간 결합도를 낮추고 OS의 디스크 순차쓰기 방식을 활용해 대용량 트래픽 병목을 해결하는 핵심 데이터 파이프라인 아키텍처 쉽게 설명하면분산 이벤트 스트리밍 플랫폼: 대용량의 실시간 데이터(이벤트)를 안전하게 수집, 저장, 처리하기 위해 사용하는 분산 메시지 큐 시스템 사용시기?1. 대용량 이벤트/로그 수집유저 행동 데이터(클릭 스트림), 서버 접속 로그 결제 내역 등 수많은 서비스에서 발생하는 데이터를 중앙에서 수집할 때 사용한다.2. 마이크로서비스(MSA)간 비동기 통신:서비스 A가 작업 완료 후 Kafka에 이벤트를 발행하면 연결된 다른 서비스들이 각자의 처리 속도에 맞춰 이벤트를 소비하는 비동기 구조를 만든다.3. 실시간 데이터 파이프라인:발생한 데..

CS 지식 2026.09.07