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...

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!

Resources