클라이언트-서버 모델(Client-Server Model)은 네트워크 기반의 통신 구조로, 클라이언트가 서비스를 요청하고 서버가 그 요청에 응답하는 구조이다. 현대의 대부분의 인터넷 서비스(웹, 메일, DB 등)가 이 모델을 기반으로 동작한다.1. 기본 구조 클라이언트(Client): 서비스를 요청하는 주체 (예: 웹 브라우저, 모바일 앱)서버(Server): 클라이언트의 요청을 받아 처리하고 응답하는 주체 (예: 웹 서버, DB 서버)2. 특징역할 분리: 클라이언트는 요청만, 서버는 처리만 담당한다.중앙 집중식: 서버에 데이터와 로직이 집중되어 관리가 용이하다.확장성: 여러 클라이언트가 하나의 서버 또는 서버 풀에 접속 가능하다.유지보수 용이: 서버만 수정하면 모든 클라이언트에게 효과가 반영된다.3. ..
파일 디스크립터(file descriptor)란, 운영체제에서 열린 파일이나 입출력 리소스를 식별하기 위한 정수형 식별자이다. 주로 유닉스 계열 시스템(Linux 포함)에서 사용되며, 커널이 열려 있는 파일(혹은 소켓, 파이프 등)을 추적하고 관리할 수 있도록 도와준다.1. 파일 디스크립터의 기본 개념프로세스가 open() 시스템 호출을 통해 파일을 열면, 커널은 파일에 대한 정보를 저장하고, 그에 대응하는 정수값(fd)을 반환한다.이 정수값을 통해 프로세스는 이후 read(), write(), close() 등의 시스템 호출에서 파일에 접근할 수 있다.2. 기본 파일 디스크립터 (표준 입출력)이름번호설명stdin0표준 입력 (keyboard)stdout1표준 출력 (screen)stderr2표준 오류 ..
프록시(proxy)란 사용자의 요청을 대신 처리해 주는 중개 서버를 의미한다. 일반적으로 클라이언트와 서버 사이에 위치하여, 클라이언트의 요청을 받아서 서버에 전달하고, 서버의 응답을 다시 클라이언트에 전달한다. 이 과정을 통해 다양한 기능과 이점을 제공한다.1. 프록시의 기본 구조클라이언트는 웹 브라우저, 앱 등 사용자의 요청을 만드는 주체다.프록시 서버는 클라이언트와 서버 사이에 위치해 요청과 응답을 중계한다.실제 서버는 요청된 리소스나 데이터를 가진 최종 목적지다.2. 프록시의 주요 역할중개: 클라이언트와 서버 사이의 요청/응답을 대신 수행한다.캐싱: 자주 요청되는 데이터를 저장해 빠른 응답을 제공한다. (속도 및 트래픽 절감)보안: 내부 IP 숨김, 악성 요청 필터링, SSL 처리 등접근 제어: ..
이번 포스팅에서는 HTTP와 관련된 내용을 알아보겠다.1. HTTP 요청/응답 구조HTTP는 클라이언트(보통 브라우저)가 서버에 요청을 보내고, 서버가 응답하는 Request/Response 구조를 따른다.요청(Request) 구성GET /index.html HTTP/1.1Host: example.comUser-Agent: Mozilla/5.0Accept: text/html요청 라인: GET /index.html HTTP/1.1요청 헤더: 부가 정보 (예: Host, User-Agent, Accept)본문(Body): POST, PUT 등일 때 데이터가 포함됨응답(Response) 구성HTTP/1.1 200 OKContent-Type: text/htmlContent-Length: 1024...상태 라인:..
C 언어에서 문자열(string)을 다룰 때 사용하는 표준 라이브러리 함수들은 string.h 헤더 파일에 정의되어 있으며, 이 함수들은 문자 배열(char 배열)을 다룰 때 자주 사용된다. 아래는 주요 str 관련 함수들과 그 설명이다.1. strlen – 문자열 길이 구하기size_t strlen(const char *s);설명: 문자열의 길이를 구한다. 널 문자('\0')는 포함하지 않는다.예제:#include #include int main() { char str[] = "hello"; printf("Length: %zu\n", strlen(str)); // 출력: Length: 5}2. strcpy – 문자열 복사char *strcpy(char *dest, const char *src..
OSI 7 계층이란?OSI (Open Systems Interconnection) 7 계층 모델은 국제표준화기구(ISO)가 만든 네트워크 통신의 표준 참조 모델이다.목적은 서로 다른 시스템 간의 통신을 계층화된 방식으로 표준화하여 쉽게 이해하고 설계, 구현, 디버깅할 수 있게 하는 것이다.각 계층은 독립적이며 명확한 책임을 가지고 있으며, 위아래 계층과만 상호작용한다.왜 나누어야 하고 OSI 7 계층을 알아야 할까?단계별로 정의한 이유는 통신 과정 속에서 장애가 발생한 경우, 다른 계층의 소트프웨어나 장비를 건들지 않고 통신 장애가 발생한 계층에서만 해결책을 강구할 수 있기 때문이다.OSI 7 계층 구조 및 설명1 계층: 물리 계층 (Physical Layer)1. 핵심 개념물리 계층은 데이터를 전기적,..