Skip to content

Just a learning project about how to build a functional webserver with C, and learn about how backend works in a low level

License

Notifications You must be signed in to change notification settings

Alex0os/Webserver-in-C

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to my first project: Webserver with C.

Description

This repository will be about creating a functional webserver with C. The final idea is that this webserver has all the necessary components to be used for building (at least) simple applications.

Checklist

  • Create the routing for valid URIs defines by the developer

    • Create a hash table that stores valid URIs and their corresponding resources
    • Create a function that allows to create a valid linking between an URI and a resource
  • Create a process that get al the file content for every file inside the "src/" folder that is not an HTML file

    • Create a process that get the content of all the folders inside "src/" folder
    • List al the files inside the previously mentioned folders
    • Create a process that can take all the content of these files
    • Create a hash table where each item has the relative route of the file inside the "src/" folder as the key
    • Make the value of that key the content of the file
  • Create a process that takes the URI that the request is asking for to give a propper response

    • Create a function that takes the resource route in the system and then returns an HTTP header based on its file extention
    • Debug the problem that makes the terminal hang on in execution mode when the compiled output is executed
    • See if after the modification of the "response_buffer" buffer function, some functions in "utils.c" are still needed
  • Modify the process to obtain the content of the resource that is being asked by the HTTP request

    • Simplify the process to wrap the "Content-Type" sub-type value in the response header
    • Modify the process that gives the value of the "Content-Type" to define its main type before creating the header
    • Refactoring the process of getting the resource content to cover a wider range of exceptions and making it more readable
  • Creating a simple middleware for the server

    • Create a 400 related response states

About

Just a learning project about how to build a functional webserver with C, and learn about how backend works in a low level

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published