AI Summary
[DOCUMENT_TYPE: user_assignment]
**What This Document Is**
This document outlines Project 1 for COM SCI 118, Computer Network Fundamentals, at the University of California, Los Angeles. It’s a practical, hands-on assignment focused on building a concurrent web server using BSD sockets and the C/C++ programming language. The project is designed to reinforce theoretical knowledge of network communication and the HTTP protocol through implementation. It’s a substantial undertaking intended to provide students with real-world experience in server-side development.
**Why This Document Matters**
This project is crucial for students enrolled in COM SCI 118 who aim to solidify their understanding of computer networking principles. It’s particularly beneficial for those interested in web development, server administration, or network engineering. Successfully completing this project demonstrates a practical grasp of socket programming, HTTP request/response cycles, and server design – skills highly valued in the tech industry. It serves as a foundational step for more advanced networking projects and concepts.
**Topics Covered**
* BSD Socket Programming
* C/C++ Network Application Development
* HTTP Protocol Fundamentals
* Web Server Architecture
* Concurrent Server Design
* Request Parsing and Response Generation
* MIME Type Handling
* Network Configuration and Testing
**What This Document Provides**
* Detailed project goals and objectives.
* Specific instructions for setting up the development environment, including recommended operating systems and software.
* A breakdown of the project into distinct parts (Part A and Part B) with defined deliverables.
* Guidance on essential considerations for implementation, such as port selection and content type recognition.
* Requirements for testing and verifying the functionality of the developed web server.
* Clear guidelines for the required project report, including length and content expectations.
* Information regarding submission requirements, specifically source code files and the project report.