Quick Index
Index
HTTP


Terms


Basically an agreement (protocol) about the format to use for internet messages (requests, responses). E.g., it is agreed that HTML is a suitable response format.
HTTP + Secure (S) = HTTPS. In other words, security added to the HTTP agreement.
An address or location of data (like a web page). E.g., "https://www.abc.com/about".
Unique identifier for a device/machine on a network.
In essence, a user-friendly name for a server ip address (unique identifier). In terms of the url, it is the component "abc.com" in "https://www.abc.com/shapes/rectangle".
The optional path component of the URL (e.g., "/shapes/rectangle"). Useful to web server for request routing.
The optional component of the URL after the path (e.g., "?width=10&height=2"). Useful to web server for request input data.
When we travel to a house via a street address we eventually get to the "end" of the address (the house). Similarily, a URL "ends" at a function (or method) on a web server. We call this the "endpoint".

API


It is an agreement about how to call a program and what the program will return.
An API program that will accept requests and respond with (return) results
The program that calls an API
Human friendly string representation of objects
An "API Key" is a "passcode" to access an API

REST - REpresentational State Transfer


A stateful model depends on other state (data). It is not self-contained. It is not well-suited for web transport.
A stateless model is independent (self-contained). It is well-suited for web transport.
HTTP-based software architectural style with principles including statelessness, client-server (separation of concerns), and proper use of HTTP data-manipulation methods (POST/PUT, GET, PATCH, DELETE). E.g., we would not want to change data for a "GET" request.

The cachability (true/false) of data is also important.

The "representation" aspect applies to how the transferred data is represented (e.g., JSON, XML).

Computation


A sequential (ordered) type of computation that waits for a task to finish before continuing to the next task.
A concurrent type of computation that does not wait for a task to finish before continuing to the next task.

Types of Web Coding


client side (e.g., web browser)
server side
front-end plus back-end including database

Basic Web Coding


Iterative coding. Short development cycles. Testing Often.
A step-by-step (recipe) solution to a problem done in human friendly language (not code syntax)
An interactive program. Common types are desktop, mobile and web.
Native mobile app is limited to a target device while web apps should be usable on any web-based device.
An imperative part of building software. Coders do "unit testing" and quality control teams apply their own test cases to the software (often the user interface).
Defect in a app. Varies in severity all the way from minor (e.g. cosmetic) up to a blocker bug (show-stopper).
A very basic system interface allowing input and output
Design app to display properly on different device type and size.
Reusable pre-built, callable code
Reusable pre-built code that typically extends a given coding language. Examples are Express (Node.js), Spring (Java) and Flask (Python). Similar to a code library.
More...


Here we encode a string containing the reserved HTML character and then decode it back to the original string.

Note: encoding is used for data transport and is also a small piece of the large web security space.
encodeURI("8>9")
//"8%3E9"
decodeURI("8%3E9")
"8>9"