Hello. In the last part of this course, we will be focusing on web frameworks that help you to turn your models into web applications that your users can interact with. Let's start by covering some of the basics. Since the late 90s, we all interact with websites, most of us, on a daily basis. Simply speaking, a web framework is a library of code that enables easier and rapid data application development. They also help us apply web development based practices and maintain our applications over time. In this lecture, we will give you some background on web frameworks and apply popular Python framework to these backgrounds. So let's start with the basic web terminology. The content we interact with on the web is organized in webpages. Simply, a webpage is a document that can be displayed in a web browser. Popular web browsers that we all interact with include Google's Chrome, Mozilla's Firefox, and Microsoft's Internet Explorer. To access these webpages, we visit the websites by typing the URL or address of a domain, like google.com on a browser. So a website is a collection of webpages and multimedia contents that are linked together by a common domain name, like google.com. Some popular websites that we always at are Amazon.com, Youtube.com, or if you're a UCSD student, Ucsd.edu. A browser like Google's Chrome helps us to interact with a website as a client. For a client like the browser to retrieve information from the web, a website needs a web server. A web server is a computer software that processes clients request and sends back a response through the internet. The client and the server communicate with each other using the Hypertext Protocol, HTTP protocol. A static web server sends static files to your browser and might not have any other functionality. However, a dynamic web server like many applications today, contains a static web server, maintains a database and an application server that can interact with other servers. The application server updates the files before sending the response to the client. As seen here in the simplified example, the client with the browser makes an HTTP request to the web server. The web server handles the request and runs the web application through an application server that can itself talk to other servers like a database server. Finally, the web server will send the client the response to the original request. There are quite a few web servers available including Apache HTTP Server, Microsoft Internet Information Server or shortly IIS, and Nginx. The Python web frameworks we will be talking about in this class, provide a simpler way to leverage Python to build applications that can run on the app server. They are very useful to standardize and streamline web application development in Python. Although there are many varieties of these frameworks, we will focus on an introduction to two including Django and Flask in our next two lectures. In this short lecture, we covered the basics of web applications including webpages, websites, and web servers and how they interact. We also explained what a Python web framework is and how it helps to create this interaction.