[중간정리] 8주차 - HTTP, 파일 디스크립터, TCP/UDP, C언어(포인터)
·
크래프톤 정글/CS기초(키워드, 개념정리)
HTTP 메서드(GET vs POST)GET 메서드데이터를 URL의 일부(query string)로 전송한다.URL 길이는 브라우저, 서버에 따라 제한이 있으므로 전송 가능 데이터 양이 제한된다.POST 메서드데이터를 요청 본문(body)에 포함하여 전송한다.Content-Length와 Content-Type 같은 추가적인 헤더 정보가 필요하다. HTTP 응답 코드(404, 500)404 Not Found서버가 요청된 리소스를 찾을 수 없을 때 반환되는 응답 코드500 Internal Server Error서버가 요청을 처리할 수 없을 때 반환되는 응답 코드 파일 디스크립터(File Descriptor)운영체제에서 관리하는 정수형 고유 식별자로, 열린 파일이나 스트림을 식별하는 데 사용된다.이를 통해 다..
[CS기초] 8주차 개념 정리
·
크래프톤 정글/CS기초(키워드, 개념정리)
8주차 개념 정리아래의 내용을 코드 블럭 우측 상단의 Copy 버튼을 눌러 복사한 뒤, 퀴즈 로봇(신명훈 학우 제작)의 프롬프트에 붙여넣기하면 핵심 개념들에 대한 퀴즈를 풀어볼 수 있습니다. HTTP/TCP/UDP의 기본 개념□ HTTP웹에서 서버와 클라이언트가 데이터를 주고받을 때 사용하는 통신 프로토콜.요청과 응답으로 구성되어 있으며 일반적으로 80포트를 사용한다.■ 요청/응답 메시지 구조 • 요청 라인(상태 라인) • 키-값 쌍으로 이루어진 헤더들 • 빈 줄 • 바디(선택적)■ 주요 메서드 • GET (조회) / POST (생성, 전송) / PUT (수정) / DELETE (삭제) / HEAD (헤더 정보만 요청)■ 상태 코드 범주와 의미 • 1xx(정보) • 2xx(성공): 200(OK) • 3x..
[CS기초] HTTP (요청/응답, 헤더, 메서드, 상태코드, HEAD 메서드) 핵심 정리
·
크래프톤 정글/CS기초(키워드, 개념정리)
HTTP (요청/응답, 헤더, 메서드, 상태코드, HEAD 메서드) 핵심 정리HTTP(HyperText Transfer Protocol)는 클라이언트(브라우저)와 웹 서버 간에 데이터를 주고받기 위한 통신 프로토콜인데요. 이는 웹의 핵심 기술로써 요청과 응답의 형태로 동작합니다. 요청(Request)과 응답(Response)요청(Request)클라이언트가 서버에 정보를 요청합니다.GET /index.html HTTP/1.1Host: example.comUser-Agent: Chrome 응답(Response)서버가 클라이언트에게 정보를 응답합니다.HTTP/1.1 200 OKContent-Type: text/htmlContent-Length: 1234 ... HTTP 헤더(Header)헤더는 요청과 응..
[CS기초] CGI / WebServer / MIME Type 핵심 개념 정리
·
크래프톤 정글/CS기초(키워드, 개념정리)
CGI / Web Server / MIME Type 핵심 개념 정리웹의 동작 원리를 깊이 이해하기 위해서는 CGI, 웹 서버, MIME Type 간의 관계를 알아야 하는데요. 이 세 가지 요소는 클라이언트와 서버 간의 정보 전달, 정적/동적 콘텐츠 처리, 그리고 콘텐츠 해석 방식에 있어 중요한 역할을 합니다. CGI (Common Gateway Interface)CGI는 웹 서버와 외부 프로그램 간 데이터를 주고받기 위한 표준 인터페이스입니다. 클라이언트가 웹 서버에 특정 요청을 하면, 웹 서버는 해당 요청을 처리할 별도의 CGI 프로그램(스크립트)을 실행하지요. 이후 CGI 프로그램은 사용자의 입력을 받아 처리한 결과를 웹 서버를 통해 다시 클라이언트에 전달하는데요. 주로 폼 처리, 데이터베이스 질의..
[CS기초] Datagram Socket(UDP) vs Stream Socket(TCP) 핵심 개념 정리
·
크래프톤 정글/CS기초(키워드, 개념정리)
Datagram Socket(UDP) vs Stream Socket(TCP) 핵심 개념 정리소켓 프로그래밍에서 Datagram Socket과 Stream Socket은 네트워크 통신 방식의 두 가지 핵심적인 유형이라고 할 수 있는데요. 이번 글에서는 각 방식의 특징과 용도에 대해서 알아보겠습니다. Datagram Socket (UDP)특징비연결성(Connectionless)미리 연결 설정을 하지 않고 데이터를 즉시 전송한다.비신뢰성(Unreliable)데이터 전달을 보장하지 않으며, 손실 및 중복이 발생할 수 있다.메시지 경계 유지(Message Boundary Preservation)전송한 데이터 단위(패킷)가 그대로 유지된다.고속 전송오버헤드가 적어 실시간 스트리밍, 게임, DNS와 같은 빠른 응답..
[CS기초] 파일 디스크립터(File Descriptor) 핵심 개념 정리
·
크래프톤 정글/CS기초(키워드, 개념정리)
파일 디스크립터(File Descriptor)란?파일 디스크립터(File Descriptor)는 운영체제가 관리하는 정수 형태의 고유 식별자로서, 열린(open) 파일이나 입출력(I/O) 스트림을 식별하는 데 사용되는데요. 프로세스가 파일, 소켓, 파이프 등 다양한 리소스를 사용할 때 운영체제는 이를 추상화하여 각 리소스에 파일 디스크립터 번호를 부여합니다. 덕분에 사용자는 각 리소스의 복잡한 시스템을 이해하지 않고도 단일화된 파일의 형태로 입출력을 제어할 수 있게 되지요. 핵심 개념정수형 식별자파일 디스크립터는 0 이상의 정수이며, 파일이나 스트림과 연결된다.운영체제 관리각 프로세스는 독립적인 파일 디스크립터 테이블을 가지고 있으며, 이를 통해 자원을 관리한다.기본 디스크립터모든 프로세스는 기본적으로..
[CS기초] 프록시(Proxy) 핵심 개념 정리
·
크래프톤 정글/CS기초(키워드, 개념정리)
프록시(Proxy) 핵심 개념 정리프록시는 클라이언트와 서버 간의 통신을 중계하여 대신 처리해 주는 중개 서버를 말하는데요. 이를 통해 클라이언트는 직접 서버와 통신하지 않고, 간접적으로 서버에 요청을 보내고 응답을 받게 됩니다. 프록시의 역할과 장점캐싱(Caching)자주 요청되는 데이터를 저장해 빠르게 제공서버 부하 감소 및 응답 속도 향상접근 제어 및 보안내부 네트워크를 외부로부터 보호IP주소를 숨겨 개인정보 보호트래픽 관리 및 부하 분산트래픽 균형 조정(load balancing)으로 안정적인 서비스 제공콘텐츠 필터링악성 콘텐츠나 원치 않는 요청을 사전에 차단 프록시의 종류정방향 프록시(Forward Proxy)클라이언트를 대신해 서버로 요청 전송한다 (사용자의 익명성 보장)VPN, 웹 프록시 ..
[CS기초] 소켓 프로그래밍 핵심 개념 정리 (socket, connect, bind, listen, accept)
·
크래프톤 정글/CS기초(키워드, 개념정리)
소켓 프로그래밍 핵심 개념 정리 (socket, connect, bind, listen, accept)소켓(Socket)은 네트워크 상에서 데이터를 주고받기 위한 통신의 끝점(endpoint)입니다. 이는 네트워크 프로그램에서 통신 채널을 설정하는 데 사용되지요. 소켓 프로그래밍의 핵심 함수socket()네트워크 통신을 위한 소켓을 생성한다통신 도메인(예: IPv4, IPv6), 소켓 타입(예: TCP, UDP), 프로토콜을 지정한다connect()클라이언트에서 서버의 소켓에 연결 요청을 보낼 때 사용한다서버의 IP 주소와 포트 번호가 인자로 제공됩니다.bind()생성된 소켓에 특정 IP 주소와 포트 번호를 연결(바인딩)한다주로 서버에서 사용하며, 클라이언트가 연결할 수 있는 고정된 주소를 제공한다lis..