The frontend is the part of a web site that you can see and interact with, while the backend is all the rest.
You know how the tip of an iceberg pokes out above the water, but they’re really hundreds of feet deep? That’s a lot like a web site.
The parts you see and interact with on a web site – the buttons, the dropdown menus and big bold fonts – make up the frontend.
The backend is everything that happens before it gets to your browser. If you’re booking a flight, that’s where prices are checked, itineraries are booked, and credit cards are charged. A backend can be very simple or very complicated.
A typical setup for a backend is a web server, an application and a database. The web server delivers a note to the application that you’d like to see all of the flights to Chicago. The application looks up the flights in the database, puts together a web page that lists them, and sends that web page back to your computer through the web server. That’s all the backend. Once your computer gets a hold of it, it’s the frontend.
For technologies used in the backend, anything goes. If a database stores your name or flight info, it might be MySQL, MongoDB, PostgreSQL, or many others. Web pages could be put together with Python, Ruby on Rails, or PHP. The web server that sends those pages over to your computer might be Apache, Nginx, or IIS. The list goes on and on!
Cocktail Party Fact
Because you don’t see the backend, programmers can swap out pieces of it without you ever knowing. For a while Twitter was powered by Ruby on Rails, but in 2011 switched over to Java. I’ll bet you didn’t notice!