- Web Penetration Testing with Kali Linux(Third Edition)
- Gilberto Najera Gutierrez Juned Ahmed Ansari
- 419字
- 2021-06-24 18:44:54
Three-layer web application design
In a three-layer web application, there is physical separation between the presentation, application, and data layer, which is described as follows:
- Presentation layer: This is the server that receives the client connections and is the exit point through which the response is sent back to the client. It is the frontend of the application. The presentation layer is critical to the web application, as it is the interface between the user and the rest of the application. The data received at the presentation layer is passed to the components in the application layer for processing. The output received is formatted using HTML, and it is displayed on the web client of the user. Apache and nginx are open source software programs, and Microsoft IIS is commercial software that is deployed in the presentation layer.
- Application layer: The processor-intensive processing and the main application's logic is taken care of in the application layer. Once the presentation layer collects the required data from the client and passes it to the application layer, the components working at this layer can apply business logic to the data. The output is then returned to the presentation layer to be sent back to the client. If the client requests data, it is extracted from the data layer, processed into a useful form for the client, and passed to the presentation layer. Java, Python, PHP, and ASP.NET are programming languages that work at the application layer.
- Data access layer: The actual storage and the data repository works at the data access layer. When a client requires data or sends data for storage, it is passed down by the application layer to the data access layer for persistent storage. The components working at this layer are responsible for maintaining the data and keeping its integrity and availability. They are also responsible for managing concurrent connections from the application layer. MySQL and Microsoft SQL are two of the most commonly used technologies that work at this layer. Structured Query Language (SQL) relational databases are the most commonly used nowadays in web applications, although NoSQL databases, such as MongoDB, CouchDB, and other NoSQL databases, which store information in a form different than the traditional row-column table format of relational databases, are also widely used, especially in Big Data Analysis applications. SQL is a data definition and query language that many database products support as a standard for retrieving and updating data.
The following diagram shows how the presentation, application, and data access layers work together:

推薦閱讀
- 發布!設計與部署穩定的分布式系統(第2版)
- Kali Linux滲透測試全流程詳解
- 精通Linux內核開發
- Windows Server 2012 Hyper-V Cookbook
- Ganglia系統監控
- 嵌入式Linux驅動程序和系統開發實例精講
- 深入理解eBPF與可觀測性
- Application Development in iOS 7
- Red Hat Enterprise Linux 6.4網絡操作系統詳解
- 大學計算機應用基礎實踐教程(Windows 7+MS Office 2010)
- Linux內核分析及應用
- 電腦辦公(Windows10+Office2016)從新手到高手
- SAP后勤模塊實施攻略:SAP在生產、采購、銷售、物流中的應用
- Windows Azure實戰
- Linux從入門到精通