要学习Web开发,首先要对HTML、CSS和JavaScript作一定的了解。
WEB开发概述
HTTP
在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览器和服务器之间的传输协议是HTTP。
Chrome提供了一套完整地调试工具,非常适合Web开发:更多工具->开发者工具;快捷键ctrl+shift+i。
HTML
HTML定义了一套语法规则,来告诉浏览器如何把一个丰富多彩的页面显示出来。
CSS
Cascading Style Sheets(层叠样式表),用来控制HTML里的所有元素如何展现,比如字体格式设置。
javascript
为了让HTML具有交互性而作为脚本语言添加的,JavaScript既可以内嵌到HTML中,也可以从外部链接到HTML中。比如用户点击某个按钮后颜色改变。
小节
总的来说:HTML定义了页面的内容,CSS来控制页面元素的样式,而JavaScript负责页面的交互逻辑。
Web应用的本质就是:
-
浏览器发送一个HTTP请求;
-
服务器收到请求,生成一个HTML文档;
-
服务器把HTML文档作为HTTP响应的Body发送给浏览器;
-
浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示。
WSGI接口
接受HTTP请求、解析HTTP请求、发送HTTP响应都是底层任务,这部分任务由专门的服务器软件实现,我们则专注于生成HTML文档。WSGI(Web Server Gateway Interface)就讲这些任务包办然后提供了这样一个接口。
其实一个Web App,就是写一个WSGI的处理函数,针对每个HTTP请求进行响应。
Web框架
在WSGI接口之上能进一步抽象,让我们专注于用一个函数处理一个URL,至于URL到函数的映射,就交给Web框架来做,Web框架把我们从WSGI中拯救出来了。
除了Flask,常见的Python Web框架还有:
MVC:
模型-视图-控制器(Model-View-Controller)。就是模板,只需要修改模板里的关键的信息即可。
有了MVC,我们就分离了Python代码和HTML代码。HTML代码全部放到模板里,写起来更有效率。