13. Evolution of HTTP Flashcards

1
Q

What were the problems with HTTP 1.0?

A
  • poor use of TCP, required a new connection for every request
  • unreliable caching
  • insecure, clear text for everything
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How did HTTP 1.1 improve upon 1.0?

A
  • extensibility
  • caching
  • bandwidth optimization
  • network conection management
  • message transmission
  • Internet address conservation
  • status codes
  • security, integrity and authentication
  • content negotiation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Describe HTTP 1.1’s extensibility.

A

HTTP specifies that if an implementation receives a header it doesn’t understand then it is ignored, this allows extensions. 1.1 introduced the OPTIONS method, a way for a client to learn about the capabilities of the server without requesting a resource. Also adds the Upgrade request-header, so client can inform server of the protocols it supports as an alternate means of communication.

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

Describe HTTP 1.1’s caching.

A

1.0 used an if-modified-since header, which could lead to errors because of clock synchronization errors or lack or resolution. 1.1 introduced entity tags, which is constructed from information, and compared. If two responses for the same resource have the same etag, they must be indentical.

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

Describe HTTP 1.1’s bandwidth optimisaiton.

A

Allows for clients to make range-requests, requesting only portions of a resource. Introduces compression options.

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

Describe HTTP 1.1’s network connection management,

A

Uses persistent connects with TCP so that many requests can be made in a single TCP connection, instead of making a new connection for each request. Also allows for pipelining, which is making several requests at once, not ccaring if they receive a response for the first request before sending another.Howeer this failed at the implementation stage.

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

Describe HTTP 1.1’s status code improvement.

A

Added 24 new ones.

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

Describe HTTP 1.1’s security, integrity and authentication.

A

1.0 used basic authentication which doesn’t encrypt passwords and usernames so are vulnerable to snooping. 1.1 added digest access authentication and nonces, but problem has been solved by SSL anyway.

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

What is the purpose of sharding?

A

Sharding a webpages resources across multiple domains allows for many concurrect TCP connections to be made.

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

What are the goals of SPDY?

A
  • improve page download time, time taken to display content
  • improve network utilisation, reduce the number of concurrent connections
  • make every transaction secure
  • avoid options, everything is mandatory
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

compare 1.0, 1.1, and SPDY and HTTP2

A

1.0
- simple, bootstrapped the web
1.1
- introduced options
- backwardly compatible
- potentially better use of TCP
- pipelining not widely adopted
SPDY
- aim to reduce page load time
- reduce RTT
- multiplex request/response
- pipelining works
- header compression
- server push
- better use of TCP
- all transactions use SSL or TLS
- all mandatory
HTTP 2.0
- based on SPDY
- better use of TCP
- packet loss and extra delay causes problems

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

How did http 1.1 help reduce IPv4 exhaustion?

A

Vanity URLs were being mapped to unique IP addresses because otherwise the server wouldn’t know which url the client wanted. HTTP 1.1 makes it possible to map multiple URLs to one IP address by adding a “host” request line

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