During lecture on September 17, we built a simple HTTP server in Golang. We could run the server locally, and it accepted and received HTTP requests.
https://github.com/BearCloud/Lecture_091720_demo
Below is a diagram outlining the path a HTTP request takes through our server.
' width='1798' height='958' xlink:href='data:image/png%3bbase64%2ciVBORw0KGgoAAAANSUhEUgAAAEAAAAAiCAYAAADvVd%2bPAAAACXBIWXMAAAsSAAALEgHS3X78AAAJHklEQVRo3u1ZaWxU1xX2n0rtz0qlKWRRDPZ4n92zeDzjhSVAl0QC2qYNAewk0PRHpUpVpaYEVQ2hKCxR6wWo2mZp%2bRNsAwlxUgzGEIyhKRAMxmCbzXjDtY3NbJ7t6zn3%2bb68GQ9bYidduNLne99979255zvbfccpSNJisZjoo9Eo/H6/QDAYRCAQSAqfz4dQKKS%2bK9/n93gN7Zrc81p3W5Pvc699bzpayp0I4E2wYCwEb2Z8fFxc88a5D4fD6n0mIVHYZATwOzwfiUREL9fgNXmOrxk85jn%2bzS%2bVAKnR5uZmHDhwAK2trTh9%2bjQaGhpw4sQJDA4O3lbY2xHAgnE7deoU6uvrxXrHjh0Tv8HjkydPqs8y8V8YAXHmRvBPmLbUhtfrg88fEONbt24JrfMm72QBrME4rZJAY2NjYl2%2bPzIyItZi3Lx5U9wbHR0V93lNaQHRSFSsT%2bqYUkJStMLHlAHkz0SFED7VL0O8mbBCQJDG0oelqyTGALn5z9MSBVWuY9PkApKECKH1n4hdHZA3xF9SIM4O333DctPDw8OorKgiVKKysgIVFRWoImyvqkR1JaMa27ftQHVVNap4rroa26q2YQfNVfyhEnt271WDcVtLJzo%2buYJoLDphURFhURHZy3E4yTjxvgZxFhCNRsT4THMN3v/halz5YxlpvB/KbAQvHQ8ie8cZbDuiEBOJKnbSfnYEO15vI42H1Q1zu3HjBspXPY%2byVWVYVb4cz65YjnLCmrJnUP7sj7FqRRnWvPATeqYcK3muvAzPl6/Gi2texIrlK/HqKxvEOiz4zt/UY/fmQwiMhaY2BkiNMSITBOxsexul23%2bKtuMLgNCVCQKi%2bNX%2bQTy2tZ36f6lW4fUG8eufHcfPnzsKnzcYH/Aiiu/fqbFm7tYGe4aw5/eN2PqLP%2bGtv7yNvXv2onZXHepq6lBLqKtV%2bppdNQK1Yr5W9Ltrd6vXu96pEc/W0ZzS1xEBpEUBjel6Q%2bM42rETwcHmCYEUjQ6PBfBuKwUqX3xqunZlBH09o5NcQBvFJ/vtp9fhaCj5IxqCjhxsgivdAJMhF0ZrDsx26s25sJjy4bQ74bA54Spww%2bUohNvphiPfgSxdNvINZjhtDhTYCuB2uel9MzLSMpGWmi4QnwWisSRBJ6q4R8J8NBZP2qQsQk1Gei0xsYT32lq68OEbR9HfPTjhPrG45yUBTU1NyKaNm0kAk8FEMJLwFliMVpqzwKxXxuKaxiaCPscowELzM1Yiy6g3wZDL8waBlPZ/XMLhXR/j1k3flPiUVjgOqeHI5OwgNR3wB7Fr037sfPlDHNn9saoEFlrGEdkfbjqM9DkZpFknigqLSKsuWEnYArsLhc5CmM1GQYpBT1ZiInJobDMZ4LCwwAbkZOYK5GblIS9bryLlzbV78cYv30VjTQv84z6K3CMiH2vBufrO4OdGJ50DWKvdXb2qYIrlRNVYw631o4v44M8foaPtEq73XMf169dF9uBzAbuQTKUN%2bxuE6S56YhGWPrUET33nSViyDSj2lOJ7i7%2bNoids8JQ64CokFNuxsMSOJQttWLLIDrvFipwEwVUCWt7/BPu2HaGs14bOrk60n29He3s72s6fx3kxvoCLHR10r0tB52TwM9yz5qTwQ/0jqN1yAO9s3I%2beS0rW8HsDaPhrC/7%2bVjO8o59anD/gw%2bjYKAnfg97eXnEQYrD78GGI27739kFHFmAxWYUbGPNMqhmbyKyNpHljngGGPLKCPJ4j5OlJ%2b3rxTO7tCFDS1TD6%2bnsF8/0D/ejp7RGa4M300nhkZJii/S06pY2SZsaEdvjEJk9wN24MiGcUM1eEGhq4idrNEwR0KQR0d/bhb%2bvqKaV9gIunL1NeiVDmUE6QATph%2bgN%2b1ey1H2QiCB4%2bAh1ZwMJ5C%2bEpooBXYiWNO0XQKy2ai%2b8ufhKL5i5Avt5BGvcI4XIy84TgUnjtOI6ATZtfQ77NQgu7yJcMcLkcsFiNAm53AWx2K0xmPQpo3uGgQGLSw%2bHMF3NGEy2oz0ZJqUdoja3A5/ML37984RounOlCKMynxnH09/fj1ME2NL93EiPkauJAEwoLN0t2aowLgoeakJGehbkkLO/P6Sb/L7TDZS9EsbsU80n4EncxrAY7bOYC4ffSQu4EQcD6V3%2bLhx95CAZjLjKy5yAzOw2ZmTroMmiclY6MzLSJsU4zThc9X6fOfgx2h1UQwBpj62DTDYyTVoPK57TX6xUWxm3MN4pr166R9XiF4ENDQ0kzhTYNNh48hNRHZyN9tg7pqYwMSmM6cc3pbM7jaaLXpWWQq%2bhEvLgXCAI2bFiPWQ8/BL0hB/lzdTA5M2EyWpCVrQjMwkoi5FiCn0lLT4WzwCYEZ4GYBHkG8JKQ/M2gEkMmPx5UviNkXUDWFBLTqNYCjh1roTzuoSC4WMViwtySeZhXMl8FXwsU3xsUAn63HjNnfVNYQLaehMrRkQUkFzgZAXPSHlcJYGFYo93d3ejr6xPHYRnItAUO%2bfEkG1%2bzlWiF11oCEyhrENrzPc99HqgW8K2ZM5CTS2YxIXhGVtpttZ6MAIfTJgIka5RrBpxJrl69KohgAnieA6YMavzjiUKycEzCF9kEARs3bsAjj84ULsAk3A9y87IESYVup1ojOHv2LM6dO0dp9DwuX74sgt/AwICIEVoLSHaKZBeSwVRWiLTni6mGIODldWvx1a99RZAwc9aM%2bwLHjm/M%2bLoggzeuFE6U4CYrP7LJogn/sCylxVkAZQSOEewqTKaIIbRW4nF6yi2g8VAjZYJXsPX1Ldi8ZdN9YQvhtU0bUVVdqdb1ZMFTmr080Gi//JJ9BcraoyzGylqhJHJaCJiOWhsLwGArkNFdWoQMPjIbjAfpejykBrjEijEH1OksjKbIDcdVTj4jEjUkz/J8b%2b1L67ByRRmeXvoD/Gjp0ygvK8czK5dheRldL/8%2bli1ZhvmlC9B8tDnuBMiNXWu6SEiZruAiA510ixeeW03f7AX0JVcMT4GHTm8l8Lg9Cgo9KKJTHH%2byNh5sVMnTpsTED61pLYtPVSEzsawtC6/8V343aJGsEHq78X8dAZ/l/cRD0f%2bGBdyj%2b0zXP0K%2bVAL%2bE9sDAh4Q8ICABwT8XxPwb9kr6bikeRHwAAAAAElFTkSuQmCC' /%3e%3c/svg%3e)
- A web client has data it wants to send. The client can be a browser (Chrome, Safari, Firefox) or a REST client (Insomnia, Postman, curl).
- The client packages the data into a request. The request contains a method, URL, query parameters, and body.
- Our server receives the HTTP request at the router.
- The router chooses the relevant method to direct the HTTP request to.
- Our method contains logic which processes the data and returns an appropriate response.
We are a student group acting independently of the University of California. We take full responsibility for our organization and this website.