HTTP Flashcards

1
Q

HTTP

A

-Hyper Text Transfer Protocol
-Transmission of Hyper Text across the World Wide Web
-Request:Response Model between Client:Server
-Stateless: info is not retained about the client on the server and previous interaction data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

HTTP Methods

A

-GET, POST, PUT , PATCH, DELETE, OPTIONS, HEAD

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

GET

A

Retrieve data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

POST

A

Send data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

PUT

A

Update or replace resource on a server

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

PATCH

A

Partially update a resource on a server

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

DELETE

A

Remove resource on a server

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

OPTIONS

A

Discover HTTP methods supported by the server

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

HEAD

A

Retrieve headers for a resource without a body

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

1xx Status Code

A

Processing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

2xx

A

Success

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

3xx

A

Redirection

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

4xx

A

Client Error

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

5xx

A

Server Error

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Headers

A

Convey meta data about the request. Examples: Content-Type, Authorization, Accept, Cookie (contains stateful state from client), Cache-Control

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

HTTP/1

A

-1997
-text-based communication
-Persistent connections, no need to re-establish connection on every request. Client can send Connection: close in the header to terminate connection
-Pipelining: sending multiple requests without waiting for responses. Caveat is “head-of-line’ blocking where the slower response blocks other responses
-Chunked Transfer Encoding: sending data in chunks without the server needing to know the final, total data size (e.g., streaming)
-Caching support: Cache-Control and and Expires
-High latency

17
Q

HTTP/2

A

-2015
-binary framing communication, more efficient and easier to parse
-multiplexing: multiple concurrent requests over the same connection.
-header compression: HPACK compression to compress redundant headers
-stream prioritization: certain data takes higher-priority eg html over css
-server push: servers proactively push data to the client
-Limitations: relies on TCP so HOL blocking can occur if fragmentation occurs at the transport layer, still SINGLE streams

18
Q

HTTP/3

A

-2020
-Essentially rebuilding HTTP /2 to run on QUIC to replace TCP; and QUIC was built on UDP (a bare-bones equivalent of TCP only concerned with port numbers) that is easily deployable and scalable
-QUIC reduces HOL blocking by receiving data via multiple independent streams where order does not matter vs TCP with one continueous, ordered stream