Skip to content

A TCP-based web server that allows clients to send HTTP requests, which are then parsed and processed by the server. The server explores and locates the requested files from the client's side and generates appropriate HTTP response messages.

Notifications You must be signed in to change notification settings

ikhsansdqq/tes-server-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TCP Web Server

This project is a TCP-based web server developed as part of the final project assignment for the Computer Network lecture at Telkom University in 2023. The web server is designed to handle HTTP requests, perform web parsing, explore the client's requested file, and generate appropriate HTTP response messages.

Features

  1. HTTP Request Handling: The TCP web server is capable of receiving and processing HTTP requests from clients. It supports common HTTP methods such as GET and POST, etc.
  2. Web Parsing: The server parses the received HTTP requests to extract relevant information, such as the requested file path, query parameters, headers, and more. This allows the server to understand the client's intentions and respond accordingly.
  3. File Exploration: Upon receiving a request for a specific file, the server explores the client's file system to locate the requested file. It handles various file types, including HTML, CSS, JavaScript, images, and more.
  4. HTTP Response Generation: The server generates appropriate HTTP response messages based on the client's request. It constructs the response headers, sets the appropriate status code, and includes the requested file or relevant data in the response body.
  5. Request and Response Handling: The web server efficiently manages incoming requests and maintains separate connections for each client. It ensures proper handling of multiple concurrent requests by utilizing TCP/IP protocols and socket programming techniques.

Usage

To use this TCP web server, follow these steps:

  1. Clone the project repository from GitHub link.
  2. Install the necessary dependencies and libraries required to run the server. (Provide instructions or dependencies if any)
  3. Run the server application by running a file named server.py on your preferred development environment or terminal.
  4. Configure the server settings for port number and any other required parameters.
  5. Access the server by opening a web browser and entering the appropriate URL and port number that was specified earlier.

Documentation

image

image

Project Specifications

This project is a TCP-based web server developed as part of the final project assignment for the Computer Network lecture at Telkom University in 2023. The web server primarily utilizes the following languages and libraries to provide its functionality:

  • Python (41.6%): The majority of the server's implementation is written in Python, utilizing the socket library for TCP communication, handling network connections, and managing HTTP requests and responses.
  • JavaScript with DOM (36.5%): JavaScript is used to enhance the web server's interactivity and dynamic behavior on the client side. The Document Object Model (DOM) is employed to manipulate and update the server-generated HTML content dynamically.
  • HTML (12.9%): HTML is employed to structure the web server's content and define the layout of the webpages. It is responsible for presenting the requested files to clients and rendering them in web browsers.
  • CSS (9.0%): Cascading Style Sheets (CSS) are utilized to enhance the visual presentation and styling of the server-generated HTML content. It ensures a visually appealing and consistent user experience across different devices and browsers. Additionally, the Bootstrap framework is incorporated to simplify the process of creating responsive and mobile-friendly web designs.

Python HTML5 JavaScript Bootstrap NPM

Contributors

The TCP Web Server project was developed by:

  • Ikhsan Assidiqie; Responsible for developing server-side code, troubleshooting web servers, and managing web programming.
  • Fizio Ramadhan Herman; Inserting comments within the server-side Python file.
  • Dawwi Raissa Damarjati Muljana; Accountable for overseeing documentation processes, generating document requirements, and crafting specifications.

This project was created as part of the final assignment for the Computer Network lecture at Telkom University in 2023.

License

This project is released under the MIT License. Feel free to use, modify, and distribute this code as per the terms of the license with creator's concerns.

About

A TCP-based web server that allows clients to send HTTP requests, which are then parsed and processed by the server. The server explores and locates the requested files from the client's side and generates appropriate HTTP response messages.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published