HTTP Flashcards
What does HTTP stand for?
Hyper Text Transfer Protocol.
What is the default port of HTTP?
80
What is HTTP?
Stateless protocol that defines how messages are formatted and transmitted, and what actions servers and clients should take in response to various commands.
What are 4 basic aspects of HTTP?
- Simple: simple and human readable.
- Extensible: through use of headers.
- Stateless (but not session-less): no limit between requests being carried with same connection. HTTP cookies allow for stateful sessions.
- Connections: Most commonly relies upon connection based TCP.
What are the three pillars of HTTP communication?
- URL structure.
- Verbs.
- Status codes.
What are the three basic components of HTTP based systems.
- Client
- Web server
- Proxies
What is the client component of an HTTP based system?
The “User-agent”. Any tool that acts on behalf of a user (browser, phone). Always initiates the request.
What is the web-server component of an HTTP based system?
The server which handles the request of the client.
What is the proxy component of HTTP based systems?
Machines operating at the application layer that relay HTTP messages. Functions include: 1. caching 2. filtering 3. load balancing 4. authentication 5. logging
What are the layers for HTTP?
HTTP, TCP, IP
What are the layers for HTTPS?
HTTP, SSL or TLS, TCP, IP
What made up http 1.0?
- Building extensibility.
- Versioning info sent with each request.
- Status code sent in response.
- HTTP headers introduced.
- Transmission of more than HTML.
What made up HTTP 1.1?
- Standardized protocol.
- Connection reuse.
- Pipelining: 2nd req made before 1st received.
- Support for chunked responses.
- Additional cache-control mechanisms.
- Content negotiation between endpoints.
- Server collocation.
What makes up HTTP 2?
- Greater performance.
- Binary protocol: cannot be read/created manually.
- Multiplexed: Parallel requests mad over the same connection.
- Compressed headers: removes duplication.
- Allows server to populate data in client cache in advance of being required.
What can be controlled by HTTP?
- Cache
- Relaxing origin constraint
- Authentication
- Proxy and tunneling
- Sessions
What is the process for two endpoints for request and response?
CLIENT- resolve IP address from host name w/ DNS lookup.
CLIENT- establish connection with server.
CLIENT- send request to server.
CLIENT- wait for response.
SERVER- process request, send response.
CLIENT- receive response.
CLIENT- close connection.
What is HTTP flow from client perspective?
- Connect to server via TCP.
- Send HTTP message to server.
- Read response from server.
- Close or reuse connection for more requests.