Applications of Web Programming
Debugging Techniques/Tools
Packets
Small amounts of information sent over a network that’s then recombined when received
Benefits: Faster transmission (can’t be sent on different routes) + not everything has to be resent if one packet corrupts.
IP addresses
Internet Protocol addressses: Unique identifier for a device on a network. 4 digits from 0-255.
DNS
Domain Name System: converts a domain name into the IP of the server (device) holding the site.
Port
A virtual location where a connections starts and ends.
HTTP/HTTPS
Hypertext transfer protocol defines client-server interactions and how webpages are passed between browsers and web servers.
HTTPS is secure and uses the TLS encryption protocol.
SSL/TLS
Cryptographic protocols (used to encrypt). SSL (secure socket layer) was renamed to TLS (transport layer security) with stronger encryption algorithms.
If a HTTP/S connection is intercepted, because of TLS (which uses the shared session key to encrypt/decrypt), the attacker will see encrypted (jumbled) text.
Before the session key is created/shared, TLS handles the handshake. The client says “I’d like to use TLS; here are the ciphers I support.” The server responds with its SSL/TLS certificate (and public key).
TCP/IP
TCP: Communication standard for how data is transferred.
TCP/IP: These 2 standard protocols work together to 1. find the address data is being sent to (IP) and 2. ensure data is sent there (TCP).
FTP/SFTP
(secure) file transfer protocol: Enables the transfer of computer files over the internet. client-server model.
Used for data backups, file sharing, website management
SMTP/POP3/IMAP
Simple Mail Transfer Protocol: sending emails
Post office protocol version 3: retrieving emails. Allows the user to download to store locally, and then deletes email from server.
Internet Message Access Protocol: retrieving emails, but keeps them on servers for online access and syncing across client devices.
SSL certificate
Digital certificate that authenticates a website’s identity
Encryption algorithms
E.g. substitution cipher - each character of plaintext is replaced with another according to a fixed system - not secure (brute force vulnerability) (e.g. Caesar cipher)
Plain text vs Cipher Text
Cipher text is unreadable to both humans and computers and require a key.
Authentication vs Authorisation
Authentication proves someone is who they say they are and authorisation verifies what the user is allowed to do.
Hash values
Hashing creates a unique fixed-length value from the original data. No 2 inputs have the same hash and the hash is random. E.g. hash value of inputted password is checked against the hash of the actual password.
Digital signatures
Use public key encryption the opposite way - only the sender has the private key and receivers have the public key to verify the identity of the sender.
Effects of big data
Big Data: large volumes of structured and unstructured data that’s too large or complex to be handled by traditional data processing.
Data mining: using computers / automation to search for patterns in big data (e.g. netflix algorithm)
Metadata: Data that defines data (eg author, date created, file size); e.g. alt text when images don’t load.
Streaming service management: Data is processed and analysed in real-time with the goal of low-latency. Essential for streaming services like spotify (e.g. auto next-song). Use tools like Apache Kafka to collect user data (eg skips, searches) and Apache Flink to analyse data and recommend in real time.
Private key encryption
Symmetric encryption; same key for encrypting and decrypting
Public key encryption
Asymmetric encryption; public key for encryption, private key for decryption.
e.g. RSA - Generates a public and private key that are mathematically linked. Relies on 2 large prime numbers which are multiplied together to create a modulus
How does a HTTP/S connection work?
Session/encryption key
A temporary symmetric key used to encrypt a specific communication session between two parties, like a website and a browser