Overview
Welcome to the server-side! In this slide deck, we will be covering the basic aspects of servers, like what they are and how they relate to your viewing web pages!
What is a server?
Server is a term that refers to both hardware and/or software. It is used to define the relationship between the computer a user is interacting with (client) and the distinctly different environment that said user will request information from.
When dealing with hardware, it:
- is an ordinary computer
- usually elsewhere
- can be the same computer!
- stores the software that defines behavior
- contains the components for a website
- JavaScript files
- HTML
- CSS stylesheets
- Images
When dealing with software, it:
- understands URLs (AKA web addresses)
- listens for a protocol* request
- responds to request
- sends response through a protocol response
Requests
Servers have uniquely defined rules that determine how they will respond based on a request.
The request:
- is sent from the client (most often a web browser)
- is sent to the server via protocol (like HTTP)
- should be intentional and explicit
- can contain information from a user's input
- can be used to:
- update a database
- navigate a website
- retrieve information
- and more!
Responses
Servers have uniquely defined rules that determine how they will respond based on a request.
The response:
- is sent by the server
- sends information back to the client (most often a web browser)
- is typically determined by the request received
- may carry out an action based on the request
- contain a status code for general information
- 200 is
OK
- 404 is
Not Found
- and more...
- 200 is
Headers
When requests and responses are sent between server and browser, additional information is included in headers
The header can be loosely categorized based on its context: request, response, or general
-
request headers
- contain information about the client (requester), or what the request is expecting.
-
response headers
- contain details about the response, like server location and time.
-
general headers
- can be included in both request and responses, but provide no info based on what information is contained.
Server-side programming
"Server-side" is mean to describe everything that happens in between a request and a response.
Server-side code:
- is used to deliver information efficiently
- is used to keep things secure
- is versatile
- is not visible to the client (most often a web browser)
- can be written in a number of programming languages!