generated from mwc/lab_riddles
question 2., Yes, this lab made me realize that every app or website I use is constantly sending and receiving HTTP requests in the background. Even simple actions, like loading a playlist or checking the weather, involve multiple requests and responses I never notice. It makes me appreciate how much coordination happens behind the scenes to make technology feel instant and seamless.
100 lines
2.6 KiB
Markdown
100 lines
2.6 KiB
Markdown
# Request and response notes
|
|
|
|
## Checkpoint 1
|
|
Read the request and response shown on lines 1-32 of the lab. Choose
|
|
five lines from the request and/or the response. For each, make an inference
|
|
about the meaning of the line, and some situation in which it might be useful.
|
|
You are welcome to research the meanings of these headers, but it's also
|
|
fine to speculate for now..
|
|
|
|
Answers:
|
|
line: Connection: keep-alive
|
|
This line may mean to keep the webpage open until closed.
|
|
|
|
line: Date: Tue, 05 Mar 2024 00:25:26 GMT
|
|
The above line may mean the date in which you accessed the derver
|
|
|
|
line: "question": "Where do you get dragon milk?"
|
|
This could be the question in text on the webpage
|
|
|
|
Line: Content-Type: application/json
|
|
This could mean that the application is made by a user named json???
|
|
|
|
Server: nginx/1.22.0 (Ubuntu)
|
|
This may mean what the name of the server you accessed is called.
|
|
|
|
## Checkpoint 2
|
|
The goal of this checkpoint is to see what status codes you can get back from
|
|
the riddle server. Paste below several `http` requests and the status codes
|
|
they return.
|
|
|
|
BELOW I EXCLUDED THE ANSWEDR TO GET A 400 CODE
|
|
mattd@Decker:~/making_with_code/mwc2/unit1/lab_riddles$ http -v post https://riddles.makingwithcode.org/guess id=1
|
|
POST /guess HTTP/1.1
|
|
Accept: application/json, */*;q=0.5
|
|
Accept-Encoding: gzip, deflate
|
|
Connection: keep-alive
|
|
Content-Length: 11
|
|
Content-Type: application/json
|
|
Host: riddles.makingwithcode.org
|
|
User-Agent: HTTPie/3.2.2
|
|
|
|
{
|
|
"id": "1"
|
|
}
|
|
|
|
|
|
HTTP/1.1 400 Bad Request
|
|
Connection: keep-alive
|
|
Content-Length: 51
|
|
Content-Type: application/json
|
|
Cross-Origin-Opener-Policy: same-origin
|
|
Date: Mon, 09 Feb 2026 15:50:39 GMT
|
|
Referrer-Policy: same-origin
|
|
Server: nginx/1.24.0 (Ubuntu)
|
|
X-Content-Type-Options: nosniff
|
|
X-Frame-Options: DENY
|
|
|
|
{
|
|
"errors": {
|
|
"answer": [
|
|
"This field is required."
|
|
]
|
|
}
|
|
}
|
|
|
|
|
|
FOR EXAMPLE 2 I REMOVE THE S IN HTTPS
|
|
|
|
mattd@Decker:~/making_with_code/mwc2/unit1/lab_riddles$ http -v post http://riddles.makingwithcode.org/guess id=1 answer
|
|
="a short-legged cow"
|
|
POST /guess HTTP/1.1
|
|
Accept: application/json, */*;q=0.5
|
|
Accept-Encoding: gzip, deflate
|
|
Connection: keep-alive
|
|
Content-Length: 43
|
|
Content-Type: application/json
|
|
Host: riddles.makingwithcode.org
|
|
User-Agent: HTTPie/3.2.2
|
|
|
|
{
|
|
"answer": "a short-legged cow",
|
|
"id": "1"
|
|
}
|
|
|
|
|
|
HTTP/1.1 301 Moved Permanently
|
|
Connection: keep-alive
|
|
Content-Length: 178
|
|
Content-Type: text/html
|
|
Date: Mon, 09 Feb 2026 15:52:51 GMT
|
|
Location: https://riddles.makingwithcode.org/guess
|
|
Server: nginx/1.24.0 (Ubuntu)
|
|
|
|
<html>
|
|
<head><title>301 Moved Permanently</title></head>
|
|
<body>
|
|
<center><h1>301 Moved Permanently</h1></center>
|
|
<hr><center>nginx/1.24.0 (Ubuntu)</center>
|
|
</body>
|
|
</html> |