Server-side website programming
In the modern world of web development, learning about server-side development is highly recommended.
Getting started with server-side programming is usually easier than client-side development, because dynamic websites tend to perform a lot of very similar operations (retrieving data from a database and displaying it in a page, validating user-entered data and saving it in a database, checking user permissions and logging users in, etc.), and are constructed using web frameworks that make these and other common web server operations easy.
Basic knowledge of programming concepts (or of a particular programming language) is useful, but not essential. Similarly, expertise in client-side coding is not required, but a basic knowledge will help you work better with the developers creating your client-side web "front end".
You will need to understand "how the web works". We recommend that you first read the following topics:
- What is a web server
- What software do I need to build a website?
- How do you upload files to a web server?
With that basic understanding, you'll be ready to work your way through the modules in this section.
This topic contains the following modules. You should start with the first module, then go on to one of the following modules, which show how to work with two very popular server-side languages using appropriate web frameworks.
- Server-side website programming first steps
This module provides technology-agnostic information about server-side website programming such as "what is it?", "how does it differ from client-side programming?", and "why is it useful?". This module also outlines some of the more popular server-side web frameworks and gives guidance on how to select the best one for your site. Lastly, an introduction to web server security is provided.
- Django Web Framework (Python)
Django is an extremely popular and fully featured server-side web framework, written in Python. The module explains why Django is such a good web server framework, how to set up a development environment and how to perform common tasks with it.
- Node server without framework
This article provides a simple static file server built with pure Node.js, for those of you not wanting to use a framework.
- Properly configuring server MIME types
Configuring your server to send the correct MIME types (also known as media types or content types) to browsers is important for browsers to be able to properly process and display the content. It is also important to prevent malicious content from masquerading as benign content.