HTTP Essential Training Flashcards
What does HTTP stand for?
Hypertext Transfer Protocol
what is a protocol?
A system of rules that allows communication between two entities, like computers
What is hypertext?
essentially web documents
what are the core principles of HTTP?
- Plain Language and Human Readable (GET, POST, PUT, DELETE, CONNECT, HEAD)
- Stateless Protocol (no memory of previous requests, prevents users from becoming trapped in the middle of process)
- Sessions (allows user to preserve sessions, such as where they were on a website, via cookies)
- HTTP Headers (included in requests and responses and allow information to be carried back and forth)
- Request response pairs (each message has a request that is sent and receives a response in return)
What are differences between HTTP/1.1 vs HTTP/2, vs HTTPS
2 has increased performance speed as well as more security. Requires encrypted connection (via https)
HTTP 1 sends uncompressed headers, sends one file at a time, and is not encrypted
What is a browser
application used to access and navigate between html documents
what is a user agent
Application acting on behalf of the user, or a client application (typically a browser)
What is tcp
Short for transmission control protocol. one of the main internet protocols used by the WWW, email, FTP, and remote administration
What is IP
Internet protocol, used to transfer data between computers over a network. every device connected to the internet has an IP address
what is a URL
Universal Resource Locator, an address pointing at a location on the web
what is a DNS
Domain name server, DNS catalogs all domain name URLs and points them to the IP addresses of servers
What is a Resource
The file or files available on a server when following a URL
What is a Server
Computer on the internet running some form of data storage sharing application, most commonly a web server application
What is a Proxy
This is a software or hardware service acting as a middle person between clients and servers (often used when an IP address needs to be hidden)
what are request-response pairs
This is the method of communication between a client (usually a web browser) and server. Uses HTTP to send a request, then HTTP to send back a response
what is a Header?
This is what a request and response will use to identify what they are and what they want. Contains meta data
What are the HTTP Request Methods/Verbs?
Every request contains a method explaining what action the sender wishes to perform on the resource (GET, PUT, PATCH, etc.)
what is a status response code
This is what comes across in the response to alert the client what happened with the request (100s-500s)
what is a cache?
This is the method for storing data on the client (browser) or the server to speed up performance
what does being stateless mean?
HTTP is stateless, meaning every request and response is unique, and no state is stored
what is a cookie
This is a small piece of information passed back and forth between the client and the server allowing each to know what state the other is in
What is a session?
This is how clients and servers share information (via cookies) which allows more speedy communication between the two
What is the flow of all HTTP Transactions?
- Browser opens a TCP connection to the server. this allows data to be sent back and forth, and ensures that all data is put back together in the same way it was sent
- Browser sends an HTTP message including a method n(such as GET) as well as a URL pointing at the requested resource
- Server sends a message back to the browser. This will contain a response status, header, and message
- Once the response is received the TCP connection is closed
what are the two main pieces of a URL?
a protocol declaration (how to access) and a URN to a specific resource
What are the pieces of the URN?
- Host (this is the domain registered at a domain name service)
- Connection port (default to 443 for HTTPS and 80 for HTTP)
- Resource path (file location within the server)
- Optional URL Query (optional and might track or filter something. These start with a ?, each query has an argument and a value, can be strung together using ampersand)
what is the most basic way to authenticate with the server?
The following header followed by a username and password combo:
Authorization: username password
Cached files greatly increase speed, but what is the potential downside of a browser using cached files?
The browser will not receive a new version of the files until the cached files are either cleared, or they have expired. This could prevent the browser from seeing updates that were made since the cached files were stored.