Introduction to web applications¶
Web applications are computer programs that run on the internet, allowing users to access and interact with them through a web browser. They are built using web technologies such as HTML, CSS, and JavaScript, and can be accessed on any device with an internet connection.
Characterisation of web applications¶
The main characteristics of web applications are:
- They are accessed through a web browser or a web-based interface.
- They are developed using web technologies such as HTML, CSS, and JavaScript.
- They use a client-server architecture to handle requests and responses.
- They can run on any device with an internet connection.
- They can be hosted on a server or on the cloud.
Differences between server and client¶
In a web application, the client refers to the user's device, such as a computer or mobile phone, while the server refers to the computer that hosts the application. The client sends requests to the server, which processes them and sends back responses.
Some differences between the client and server in a web application are:
- The client runs on the user's device, while the server runs on a remote computer.
- The client typically handles the presentation layer, while the server handles the application logic and data storage.
- The client interacts with the user directly, while the server interacts with the database and other services.
HTTP protocol¶
HTTP stands for Hypertext Transfer Protocol and is the foundation of communication on the World Wide Web. It is a request-response protocol that allows clients and servers to exchange information over the internet.
In a web application, the client sends HTTP requests to the server, which responds with an HTTP response. HTTP requests are made up of a method (e.g. GET, POST), a URL, headers, and an optional body. HTTP responses contain a status code, headers, and a response body.
HTTP is stateless, which means that each request is independent and doesn't remember any previous requests. To maintain state, web applications use techniques such as cookies, session IDs, and tokens.