diff --git a/http.py b/http.py index 0fac446..2e0cd12 100644 --- a/http.py +++ b/http.py @@ -19,7 +19,7 @@ Fork = False # and security. # Thus we have to devote some time and energy to making -# a better fake http. We're still going to employ some +# a more robust, but still fake http. We're still going to employ some # dirty tricks here. # At this point there if you didn't read Greg the Manokit's # Warning at the top of the page @@ -210,6 +210,17 @@ def server_handler(): # I made two simple changes to make it use our new http objects +# This will still accept anything as long as the method verb +# is correct. Clients need not conform to RFC 9112 (yet). +# We however, do our best effort to conform to rfc 9112, +# when sending responses. +# +# The principal of being lienant in what you accept from +# the client, but strict in what you send back, was first +# was first forumlated by John Postel in that later half +# of the 1970s. + +# Doing this, is also motivation for me to write Parts 4, 5, and 6 def client_handler(sock): @@ -266,12 +277,15 @@ else: # To recap we just did a bunch of work, for no user visible change # This is not a bad thing, often the first drafts of programs. # Will fit the requirements of the moment. But when the requirements -# change the program must be adapted to fit.abs +# change the program must be adapted to fit. # This process of iteration and redesign, # is called "paying down technical debt", and it should be done whenever # possible. # +# And we've just moved up to the second level of the 7 story mountain +# Yay us. # # References -# MDN Web Docs +# Robustness Principal (Devopedia): https://devopedia.org/postel-s-law +# IETF RFC 9112 HTTP/1.1 https://datatracker.ietf.org/doc/html/rfc9112 #