“Web frameworks” are the de facto way to build web-enabled applications.
So basically how the web “works”. A web browser initiates a request to webserver and then webserver sends the content in response.
HTTP
Browsers download websites from web servers (or “application servers”) using the HTTP
protocol (a protocol, in the realm of programming, is a universally known data format and sequence of steps enabling communication between two parties). The HTTP
protocol is based on a request-response
model. The client (your browser) requests data from a web application that resides on a physical machine. The web application in turn responds to the request with the data your browser requested.
There are HTTP verbs : GET , POST, PUT DELETE indicating the operation going on with request.
To handle HTTP related issues , sessions , already work done no need to repeat it. We should use code already written rather than writing it by ourselves [things are open source] and then debugging it.
That’s why we use web Frameworks.
So what problem web Frameworks solve :
Of all the issues surrounding building a web application, two stand out.
- How do we map a requested URL to the code that is meant to handle it?
- How do we create the requested HTML dynamically, injecting calculated values or information retrieved from a database?
So there are alot of frameworks are in use these days . All have there pros and cons.
Most popular are : Django , Ruby On Rails , NodeJs.
Source : https://jeffknupp.com/blog/2014/03/03/what-is-a-web-framework/