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