Web Architecture & Components
Understanding web architecture fundamentals including HTTPS, web servers, serverless computing, microservices, communication protocols, firewalls, and caching strategies for effective web application testing.
Understanding web architecture is crucial for effective testing. This guide covers the fundamental components and concepts that power modern web applications.
HTTPs, Certificate Authority, Self-signed Certificate
What is a Web Server?
Resources:
Serverless
Microservices
Monolith
- Monolith - Everything is togather; Individual components are hard to upgrade or scale
- Codebase lives on the same server & usually in same repository.
Non-Monolith (MicroService)
- Isolated components that are divided by responsibility
- Independent scaling of the components
- Standardized interface (API) so any service can use it
- Can be independently developed by different teams
Resources:
Communication & Firewalls
Communication
- Services usually have one, or a few ports open
- Usually they restrict who can talk to them
- Encryption is not necessary INSIDE the cluster
Firewall
- Firewall filters for:
- Request origin (domain or IP)
- Port used
- content (exploits, sql injection)
- Frequency (DDoS / throttling)
Resources:
Caching
Types of caching:
Client Side
- Browser cache
- Service worker/ Single Page Apps (SPAs)
Network
- DNS cache
- Content Delivery Network
- HTTP cache (Varnish)
Server Cache
- Object cache
- Database cache