Web Architecture
Miscellaneous notes related to web architecture, drawing on course material and past learning:
The World Wide Web
- The global supply and demand of web pages is known as the world wide web.
- Web pages are a type of hypermedia document, consisting of text, multimedia and hyperlinks.
- Web services are services that make use of web pages, and web application models.
- Client-Server, Peer-to-Peer, and Cloud-Computing, are examples of web application models.
- Web pages have url addresses, including a domain name .
- Web pages that share a domain name are known as a website.
- ICANN is an organisation that governs the assignment of domain names to websites.
Web Software
- Requests and responses on the world wide web are handled by webserver and browser software.
- Browsers are types of software that render web pages, and handle user interactions with them.
- Webservers are types of software that provide web content, in response to requests sent from browsers.
- Google Chrome is an example of a browser, while Apache is an example of web server software.
- Browsers are capable of intepreting HTML, CSS and Javascript languages when rendering web pages.
- HTML is a markup language, that provides the DOM of the web page.
- CSS is a styled sheet language, that provides the presentation details of DOM objects.
- Javascript is a programming language, that provides event handling dynamics using DOM objects.
- W3Schools.com is a website that provides reference material for HTML, CSS, and Javascript.
- Communication between browsers and webservers is governed by the internet protocol suite.
The Internet Protocol Suite
- The internet protocol suite is a suite of protocols designed to enable communication over the internet.
- There are 20+ internet protocols, and multiple ways to categorise them, including the OSI model, and the TCP/IP model.
- GeeksForGeeks give an overview of the OSI model and TCP/IP model for internet protocols.
- Examples of protocols used on the world wide web include IP, HTTPS, and TCP.
- The IP protocol is the assignment of IP addresses to any device connected to the internet.
- The HTTPS protocol is the use of HTTP request and response codes, and TLS cryptography, for client-server web services.
- The TCP protocol is the use of a TCP header on each data packet transported across the internet, to prompt feedback.
- Useful Python libraries for handling web protocols include: socket, scapy and requests.
- Examples of other internet protocols in use include ARP, BGP, DHCP, ICMP and UDP.
- The ARP protocol is a switch mechanism for associating MAC addresses of physical devices, to IP addresses.
- The BGP protocol is an AS mechanism for sharing routing information.
- The DHCP protocol is a router protocol for configuring devices on a network.
- The ICMP protocol is the use of data packets with ICMP codes for network diagnostics.
- The UDP protocol is the use of a small UDP header on each packet transported across the internet, to indicate transportation damage.