HyperText Transfer Protocol (HTTP)
Store memory on the client's side
Cookies
What is HTTP?
Hypertext Transfer Protocol. It's a protocol, a convention used for data exchange between web clients and web servers.
When is HTTP not stateless?
Multi-step processes, such as booking a flight or buying something on the web
Where is memory stored if cookies are enabled?
cookies file (persistent)
What is a stateless protocol?
Each transaction is independent of the previous ones, so the process has no memory
How does the client send information to the server with memory-in-transit?
Either by sending combinations into the URL through a GET method or by sending combinations into the body through POST method
Store memory on the server's side
The program called by the server can organize server-side storage. File system, database, memory
What is a server response?
The response a server has to a client requesting information from their browser
How does the server send information to the client in memory-in-transit?
The server can pass information in <input type="hidden"> tags in an HTML form
Certificate Authority (CA)
Those who issue certificates allowing people to use SSL technology
Who created HTTP and the world wide web?
Tim Berners-Lee
Who governs the World Wide Web and HTTP?
W3C (World Wide Web Consortium)
What protocol is a stateless protocol?
HTTP
What is HTTPS?
HTTP with SSL, so encrypted HTTP
Who audits Certificate Authorities?
The American Institute of CPAs (AICPA)
GET method passes parameter=value combinations into what?
The URL
POST method passes parameter=value combinations in
The body of the HTTP client request
What is SSL?
Secure Sockets Layer. Established safe encrypted data exchange
Web browser vs web server
1. A web browser is firefox, safari, chrome. The main purpose of web browser is to locate the content on the World Wide Web and display in the shape of web page 2 A web server is a computer system, which provides the web pages via HTTP
What does the Certificate do(3)?
1. Guarantees that the accessed domain/IP address is under the control of the certificate owner 2. It is used for encryption 3. Contains information about the certificate owner
The internet's 5-layer model
1. Physical 2. Data-Link 3. Network 4. Transport 5. Application
Request line, header, and body for an HTTP client that initialized the following transaction: http://classes.bus.oregonstate.edu/ba372/index.htm
1. Request line: <method> <document address> <HTTP version number> GET classes.bus.oregonstate.edu/ba372/index.htm HTTP/1.1 2. Request header:User-Agent: Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 3. Request body: nothing, optional
3 parts to each HTTP client request and each HTTP server response
1. Request or response line: specifies the contents of the request or the status of the response, respectively 2. Request or response headers (optional): Specify configurations, acceptable formats, and lots of other things the browser and the server want to tell each other, e.g., the data and time the file was last modified, whether the file can be cached or not, etc. 3. Request or response body (optional): Additional data. e.g., the actual data passed back from the HTTP server or any additional data the server must know in order to execute a request
HTTP server response to a client requesting http://classes.bus.oregonstate.edu/ba372/index.htm
1. Response line: <HTTP version> <status code> <status description> HTTP/1.1 200 OK Followed by chart of response code and response meaning 2. Response header: HTTP/1.1 301 Moved Permanently Content-Length: 156 Content-Type: text/html; charset=UTF-8 Location: https://www.teachengineering.org/ Server: Microsoft-IIS/8.0 X-Powered-By: ASP.NET Set-Cookie: ARRAffinity=564157293dfd0114e88418eb9fb43798f5bc4189a409f7a51a768c06412b14c5;Path=/;Domain=www.teachengineering.org Date: Fri, 24 Mar 2017 22:42:19 GMT Location: https://www.teachengineering.org/ HTTP/1.1 200 OK Cache-Control: private Content-Length: 28849 Content-Type: text/html; charset=utf-8 Server: Microsoft-IIS/8.0 X-AspNetMvc-Version: 5.2 X-AspNet-Version: 4.0.30319 X-Powered-By: ASP.NET Date: Fri, 24 Mar 2017 22:42:21 GMT Length: 28849 (28K) [text/html] 3. Response body: any content
3 levels/degrees of certificates
1. Self-signed: not issued by CA (mostly for internal use only) 2. Domain Validated: CA issued - domain/IP address certified 3. Fully Authenticated: CA issued - required background checks, is the business operating as a business
Internet vs Web
1. The Internet is a massive network of networks. It connects computers globally 2. The World Wide Web is a way of accessing information over the medium of the Internet. Example: the web is a movie theatre and the internet is the road you take to get there
What is a client request?
A client is a requesting user or program in a server/client relationship
Somebody Else's Problem (SEP)
Ask someone else to do the memorizing.
What is memory-on-the-go or memory-in-transit?
The server passes all the information back to the client and forgets about the client. But at the next request, the client passes everything it received from the server back to the server again, plus any new information it wants to submit