컴퓨터 시스템 : CSAPP 11장 정리 - 11.6 종합설계 :소형 웹 서버 Part.2
지난 포스팅에서 11.6장 Tiny Web Server의 main()과 doit() 함수에 대해 알아봤다.2025.05.03 - [크래프톤 정글 (컴퓨터 시스템: CSAPP)/11장 네트워크 프로그래밍] - 컴퓨터 시스템 : CSAPP 11장 정리 - 11.6 종합설계 :소형 웹 서버 Part.1 컴퓨터 시스템 : CSAPP 11장 정리 - 11.6 종합설계 :소형 웹 서버 Part.111.6절 Putting It Together: The Tiny Web Server이 절에서는 지금까지 배운 내용을 종합하여 작동 가능한 소형 웹 서버 Tiny를 구현한다. 이 서버는 다음을 처리할 수 있다:정적 콘텐츠 (HTML, 이미지 등)동적www.gowoong.com이제 다음 함수들에 대해 계속 알아보도록 하겠다.1..
- 크래프톤 정글 (컴퓨터 시스템: CSAPP)/11장 네트워크 프로그래밍
- · 2025. 5. 3.
컴퓨터 시스템 : CSAPP 11장 정리 - 11.6 종합설계 :소형 웹 서버 Part.1
11.6절 Putting It Together: The Tiny Web Server이 절에서는 지금까지 배운 내용을 종합하여 작동 가능한 소형 웹 서버 Tiny를 구현한다. 이 서버는 다음을 처리할 수 있다:정적 콘텐츠 (HTML, 이미지 등)동적 콘텐츠 (CGI 프로그램 실행 결과)Tiny는 단 250줄 내외의 코드로 구성되어 있지만, 프로세스 제어, 소켓 인터페이스, Unix I/O, HTTP 프로토콜의 핵심 개념을 모두 포함하고 있다.1. main() 함수 (그림 11.29)전체 코드 확인하기더보기더보기/* $begin tinymain *//* * tiny.c - A simple, iterative HTTP/1.0 Web server that uses the * GET method to se..
- 크래프톤 정글 (컴퓨터 시스템: CSAPP)/11장 네트워크 프로그래밍
- · 2025. 5. 3.

컴퓨터 시스템 : CSAPP 11장 정리 - 11.5 웹 서버 이론편
11.5절: 웹 서버 (Web Servers)이 절에서는 지금까지 학습한 네트워크와 소켓 프로그래밍 기술을 바탕으로 실제 작동하는 웹 서버인 Tiny를 구현하는 방법을 설명한다. Tiny는 기능이 간단하면서도 실제 웹 브라우저로 접근할 수 있는 완전한 서버이다. 이를 통해 서버의 핵심 동작 원리를 배울 수 있다.11.5.1절: 웹의 기초 (Basic Concepts of the Web)웹은 클라이언트-서버 모델에 기반한다. 이때 웹 서버는 정적(static) 콘텐츠(예: HTML, JPEG 파일)를 클라이언트에 전송하거나, 동적(dynamic) 콘텐츠(예: 데이터베이스 쿼리 결과)를 생성해 전달한다.웹 트랜잭션의 흐름사용자가 웹 브라우저에 URL을 입력하면 브라우저는 해당 웹 서버에 HTTP 요청 메시지..
- 크래프톤 정글 (컴퓨터 시스템: CSAPP)/11장 네트워크 프로그래밍
- · 2025. 5. 3.

컴퓨터 시스템 : CSAPP 11장 정리 - 11.4 소켓 인터페이스
11.4절: 소켓 인터페이스 (The Sockets Interface)소켓 인터페이스는 네트워크 응용 프로그램을 구축하기 위해 Unix I/O 함수들과 함께 사용하는 함수 집합이다. 거의 모든 현대 시스템(Unix, Windows, macOS 등)에 구현되어 있으며, 클라이언트-서버 트랜잭션에서 다음과 같은 흐름을 갖는다:클라이언트와 서버는 각각 socket() 함수를 호출하여 소켓을 생성한다.서버는 bind()와 listen()을 통해 포트를 열고 연결을 대기한다.클라이언트는 connect()를 호출하여 서버에 연결을 요청한다.서버는 accept()를 통해 클라이언트의 연결 요청을 수락한다.양측은 rio_readlineb, rio_writen 등을 이용해 데이터를 주고받는다.연결이 끝나면 close()..
- 크래프톤 정글 (컴퓨터 시스템: CSAPP)/11장 네트워크 프로그래밍
- · 2025. 5. 2.

컴퓨터 시스템 : CSAPP 11장 정리 - 11.3 글로벌 IP 인터넷
11.3절: 글로벌 IP 인터넷 (The Global IP Internet)글로벌 IP 인터넷은 가장 널리 알려진 인터넷의 구현체이며, 1969년부터 존재해 왔다. 내부 구조는 복잡하고 지속적으로 변화하고 있지만, 클라이언트-서버 응용 프로그램의 조직 방식은 1980년대 초부터 놀라울 정도로 안정적으로 유지되어 왔다.각 인터넷 호스트는 TCP/IP 프로토콜을 구현하는 소프트웨어를 실행한다. 이 프로토콜은 거의 모든 현대 시스템에서 지원된다. 클라이언트와 서버는 소켓 인터페이스 함수와 Unix I/O 함수를 조합하여 통신한다. IP는 이름 지정 체계와 패킷 전송 메커니즘을 제공하며, TCP는 이 위에 구축되어 신뢰할 수 있는 양방향 연결을 제공한다. 이 절에서는 TCP/IP를 단일 프로토콜처럼 간단화하여 ..
- 크래프톤 정글 (컴퓨터 시스템: CSAPP)/11장 네트워크 프로그래밍
- · 2025. 5. 2.

컴퓨터 시스템 : CSAPP 11장 정리 - 11.1 ~ 11.2
CSAPP 11장은 네트워크 프로그래밍(Network Programming)을 다루며, 도입부에서는 우리가 웹 브라우징, 이메일 전송, 온라인 게임 등을 할 때마다 네트워크 응용 프로그램을 사용하고 있음을 강조한다. 흥미로운 점은 이러한 다양한 네트워크 응용 프로그램들이 모두 동일한 기본 프로그래밍 모델을 기반으로 한다는 것이다. 즉, 구조적으로 유사하며, 같은 프로그래밍 인터페이스(주로 소켓)를 사용한다는 점이다.이러한 네트워크 응용 프로그램들은 이미 시스템 프로그래밍에서 배운 개념들—프로세스, 시그널, 바이트 순서, 메모리 매핑, 동적 메모리 할당 등—에 의존한다. 동시에, 클라이언트-서버 모델이라는 새로운 개념도 습득해야 한다. 마지막에는 이 모든 아이디어를 종합하여 실제 웹 브라우저가 접속 가능한..
- 크래프톤 정글 (컴퓨터 시스템: CSAPP)/11장 네트워크 프로그래밍
- · 2025. 5. 2.