Web Server
- A computer system that processes requests via http
- The term can refer to the entire system or specifically to the software that accepts and supervises the HTTP request
Dynamic HTML
- Creating HTML per request (not stored as a static page)
- Scripting languages build the HTML based on conditions
- Two methods
- Server-side scripting: The server contains scripts and a script language interpreter to “build” the html
- Server-side is back end development
- Client-side scripting: web page contains script that client downloads as part of the web page
- Client-side is front end development
Server side scripting
- Used to generate HTML documents dynamically as opposed to returning static documents
- Primarily used for retrieving and/or modifying information from databases
- Behavior of the website can be scripted in separate files, while the actual web server software remains unchanged
- Server-side scripting languages
- Active Server Pages (ASP)
- PHP
- JSP
- Perl
- Ruby (Ruby on rails)
- Pros:
- Broader client support
- Minimal execution on client side can reduce security exposure on client
- Cons:
- Web service needs permission to execute scripts on web server
Client side scripting
- Client-side scripts are embedded in a website html markup
- The browser temporarily downloads that code and then apart from the server processes it to build the final HTML page that is rendered to the server
- The scripting language must be supported and compatible with the browser
Apache Server-Modules
- Over 20 years old
- Open souce and maintained by the apache software foundation
- Uses a compiled module architecture
- Extends the core functionality including
- Server-side programming languages
- Authentication schemes
- TLS/SSL (mod_ssl)
- Proxy module (mod_proxy)
- URL rewriting module (mod_rewrite)
Apache Virtual Host
- This allows for flow control (if a lot of users go to domain can change which host they go to)
- 1 IP for the web site with multiple servers on the backend