In the computer world, the "backend" refers to any part of a website or software program that users do not see. It contrasts with the frontend, which refers to a program's or website's user interface. In programming terminology, the backend is the "data access layer," while the frontend is the "presentation layer."
Most modern websites are dynamic, meaning webpage content is generated on-the-fly. A dynamic page contains one or more scripts that run on the web server each time the page is accessed. These scripts generate the content of the page, which is sent to the user's web browser. Everything that happens before the page is displayed in a web browser is part of the backend.
Examples of backend processes include:
- processing an incoming webpage request
- running a script (PHP, ASP, JSP, etc.) to generate HTML
- accessing data, such as an article, from a database using an SQL queries
- storing or updating records in a database
- encrypting and decrypting data
- handling file uploads and downloads
The backend and frontend work together to create the full user experience. Data generated in the backend is passed to the frontend and presented to the user. While some organizations have separate backend and frontend development teams, the line between the two layers is rarely black and white. Therefore, many developers write code for both the backend and frontend. This is known as full-stack development.
NOTE: Backend may also be written "back end" (as a noun) or "back-end" (as an adjective). For simplicity, "backend" (the closed compound word) has become an acceptable term for both.