HTTPS Request / Response Life-cycle
User enters url -> Browser sends request -> Server parses url && header -> Server sends response object.
- User enters a URL[1]
https://host:port/path/querystring
- Browser sends Request Object[2]
-
Server parses the url and header to handle the request
- Finds the HTTP methods[3]
- maps the request to a function that handles the request
- executes the function and forms the
response
- if needed the function will interact with the database
- formats the
response
- sets the status of the
response
(eg. 200 (ok), 404 (not found))
-
Server sends the Response Object[4] back to the users browser
- browser stores and displays
response
- browser stores and displays
[1] URL:
- protocol - Usually
HTTP://
orHTTPS://
- Other common protocols are FTP, SSH, and POP3. - domain -
www.getsomestuff.com
- port - :80 - points to a specific application on a machine
- path -
the/file/you/want
- query -
?key1=value1&key2=value2&key3=value3
- this is not part of the routing of the request - it is the data passed into the function that is executed once the location is resolved
[2] Request Object:
- The object that represents the HTTP request.
- By convention it's named
req
- It has information about the location and the data that is being requested by a user
- It includes information about the User-Agent (browser), user preferred language, the host, encoding, connections and more.
- The data includes the type of request, methods for resolving the type of data returned, any parameters, body, headers and more.
- see MDN for more info
[3] HTTP methods:
GET
/POST
/PUT
/HEAD
/DELETE
/PATCH
/OPTIONS
[4] Response Object:
- The response that is sent to a client from a server after the request is completed.
- By convention it's named
res
- Includes data, type, url, status, statusText, body, headers and more.
- It contains methods for dealing with the data including error, and promises for resolving the data in specific formats (eg. arrayBuffer, blob, json).