Figure 1 [1] illustrates the web application architecture in the server side and client side.
Server Side
- Logic Layer
- Implements the application business logic using high-level programming languages, such as Java, PHP, or Python.
- Web Server Layer
- Receive HTTP request, and passes the request to the appropriate server-side program, e.g., Apache web server, Windows IIS, or Nginx.
- Data Storage Layer
- Stores the web application state and user data. Popular data storage systems are traditional SQL databases, which include MySQL, PorsgreSQL, or MSSQL
- Infrastructure Layer
- Runs the operating systems. An infrastructure could be a physical machine or virtualization platform which manages multiple virtual machines.
- Implements the application business logic using high-level programming languages, such as Java, PHP, or Python.
- Receive HTTP request, and passes the request to the appropriate server-side program, e.g., Apache web server, Windows IIS, or Nginx.
- Stores the web application state and user data. Popular data storage systems are traditional SQL databases, which include MySQL, PorsgreSQL, or MSSQL
- Runs the operating systems. An infrastructure could be a physical machine or virtualization platform which manages multiple virtual machines.
Client Side
The client side receives HTTP response from the server-side, and the job of the client is to convert the HTML contained in the HTTP response into a graphical interface from the user.
- Logic Layer (Presentation Layer)
- It is written in a combination of HTML, CCS, and JavaScript, with JavaScript providing a way for the sever-side code to execute application logic on the client
- It is written in a combination of HTML, CCS, and JavaScript, with JavaScript providing a way for the sever-side code to execute application logic on the client
- Browser
- Retrieves the presentation layer code from the server, interprets it, and presents it as a graphic interface to the user.
- Retrieves the presentation layer code from the server, interprets it, and presents it as a graphic interface to the user.
- Storage Layer
- For the presentation layer code to store data. Available storage methods include cookies, local storage, IndexedDB, and File APIs.
- Operating System Layer
- Runs the browser
- For the presentation layer code to store data. Available storage methods include cookies, local storage, IndexedDB, and File APIs.
- Runs the browser
Reference
[1] Toward a Moving Target Defense for a Web Applications, by Marhony Taguinod, in International Conference on Information Reuse and Integration 2015
No comments:
Post a Comment