# A-level Computing/AQA/Problem Solving, Programming, Operating Systems, Databases and Networking/Communication and Networking/Server-side scripting
## Common Gateway Interface (CGI)

| Address | http://www.example.org/index.html |
Welcome
To this webpage
| Address | http://www.example.org/index.html?lang=fr |
Bonjour
To this webpage
* Extension: AJAX
* AJAX is an acronym for Asynchronous JavaScript and XML, technologies that can be used on the client-side to create asynchronous web applications. With AJAX, web applications can send data to, and retrieve data from, a server asynchronously (in the background) without interfering with the display and behavior of the existing page. Examples of this might be receiving a new email in your web based mail client without having to refresh the page manually, another example is a breaking news article appearing on a news site without you having to refresh the page. Web 2.0 sites make heavy use of AJAX and data is usually retrieved using the XMLHttpRequest API.
* You can learn more about how AJAX works over at w3schools.

## Server-side scripts

A server-side script can make a webpage dynamic. This means that content is generated when the web browser request is received rather than being static and displaying one screen. The webpage can handle requests such as HTTP requests to do something useful with data that a user has inputted.

### HTML

HTML stands for HyperText Markup Language and is a way of displaying a webpage on a browser by using tags to create objects on the screen. The objects on the webpage can be styled using Cascading Style Sheets or adding styles directly to a tag. The most recent version of HTML is HTML5 which is coupled with CSS3. The difference with HTML5 and HTML4 is that HTML5 has more tags that can create more complex objects like date pickers and placeholder text in input boxes. However not all web browsers support HTML5 and those that do, they don't support all of the new elements that are in HTML5. With HTML5 when you declare <!DOCTYPE> for the webpage to tell the web browser what you are using, you only have to write <!DOCTYPE html> rather than adding URLs to framesets in w3 or having to declare as PUBLIC. HTML5 has made life easier for web designers.

### PHP

PHP is a recursive acronym that stands for PHP Hypertext Preprocessor. It is a server-script that is run each time the page is reloaded and can handle MySQL and is how most websites are created. PHP can output text to a webpage. PHP interpreters are run on the web server so all requests are handled by the web server and then outputted as text that a web browser can display. Variables are created using the $ symbol.

### Post Request

The post request is a HTTP request where a HTML form can 'post' data to a page that can process the data using the server-side scripts such as PHP or JavaScript.

## Database Management Systems (DBMS)

'Database Management Systems (DBMS)' are systems that can be accessed by web server extensions. A well known DBMS is a MySQL database.

### How to Connect to a DBMS using Server-side Scripting

* Connect to the hosting server
* Select a database
* Perform a query for that database
* Handle the data in the way that is required
* Disconnect from the database