Web开发
最早的软件,运行在大型机上,使用者使用 哑终端 登陆到大型机上运行软件。后来有了PC,出现CS架构(有客户端部分),如果客户端需要频繁改动,很不便,就出现了BS架构。
只要有Browser,就可以访问web应用。
Web开发经理的阶段
1.静态Web页面,纯html,早期
2.CGI(Common Gateway Interface),C/C++编写处理用户发送的动态数据
3.ASP/JSP/PHP:脚本语言与html结合
4.MVC,为了解决3的可维护性差的问题,该模式简化了开发。ASP ->ASP.net,JSP和PHP也有很多MVC框架。
目前发展,异步开发、MVVM前端技术
HTTP协议简介
浏览器和服务器之间的传输协议是HTTP(在TCP之上)
使用Chrome,不用IE(慢)
请求 有 GET POST
开发者工具,network,所有网络记录
Request Headers
GET / HTTP/1.1 (例)
GET 表示是读取请求
/ 表路径,首页
HTTP/1.1 协议版本1.1,,1.1比1.0的优点是允许多个http请求复用一个TCP连接,以加快传输速度。
一个HTTP包含n 个 Header 和 Body 两部分。Body可选。如response里有Body则,会在header 与 body间有 两个 /r/n分割。
HTTP协议是一种文本协议。
Content-Encoding 可以压缩body
HTML简介
html网页
css(Cascading Style Sheets)层叠样式表,HTML里的元素如何展现
javascript,使得HTML有交互性,既可以内嵌到html,也可以从外部链接。
WSGI接口
HTTP服务器软件,Apache Nginx Lighttpd
像TCP连接,接受http请求,解析请求、发送响应这些底层代码都被它们干了
Web Server Gateway Interface 可以使我们专心用Python编写Web业务。
服务器调用application(environ,start_response)根据environ做不同响应。
就这一个方法处理所有请求比较底层。处理1000个请求就麻烦了
返回bytes
使用Web框架
怎么实现用一个函数处理一个url,url到函数如何映射。
比较流行的Web框架 Flask
安装Flask
pip install flask
好多装饰器,装饰路径和请求方式
使用模板
页面HTML才是Web应用最复杂之处。
在Python代码里拼html字符串不现实,模板应运而生,模板即html页面,放在.py的同级templates下。
MVC(Model-View-Controller)数据模型 视图 控制器 这里就分离了Python代码和html代码
其中V的html可以随时改动,保存好后,Browser刷新就可以看到最新效果。