컴퓨터 시스템 : 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.