为什么需要web框架?
来源:互联网 发布:微软雅黑字体下载mac 编辑:程序博客网 时间:2024/06/05 16:09
上一篇的续篇http://blog.csdn.net/yz764127031/article/details/77435758
感觉上一篇太敷衍,加点东西
使用web框架的主要目的在于:
(1)抽象出代码中共同的部分,实现代码重用,降低编程的难度。
(2)解耦合,将web编程模块化,使得能像积木一样灵活组合。
计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决。
第一层解耦,通过网关协议实现web服务器和web应用程序之间的可插拔性。
即可以web服务器和web应用框架可以实现自由组合。
于是就提出了网关接口,主要接口协议有CGI,FastCGI,WSGI,Java的serlet等。
第二层解耦,通过视图函数和控制器,实现http请求和http应答之间的解耦。
一个典型的http请求头为:
GET / HTTP/1.1 (请求行)Host: 127.0.0.1:8000 (请求头)
一个典型的http应答为:
HTTP/1.0 200 OK (响应行)Content-Length: 5252Content-type: text/html; charset=utf-8Date: Tue, 21 Feb 2017 08:36:01 GMT<h1>hello world /</h1>
web框架通过建立url与视图函数之间的映射关系,输入http请求头,调用相应的视图函数,输出对应的http响应。
通过实现视图函数和控制器,我们可以自由的绑定url和视图函数,从而灵活的进行修改。
此外,除了建立url与视图函数的映射关系外,web框架还需要实现其他http协议的重要特性:
1.重定向 响应码3XX,通过修改http头的location
2.异常处理 响应码4XX,5XX
3.区分不同类型的资源,文本html和视频音频图片之类的二进制文件
4.session,实现状态维持
5.下载上传
第三层解耦,数据和模板之间解耦,实现灵活生成动态网页。
尽管现在大趋势为前后端分离,通过json传递数据,但是模板还是一个web框架常见的组成部分。
通过向模板中填充数据来生成动态页面,就可以通过不同组合生成不同的页面,使得代码重用性和灵活性大大提高。
第四层解耦,通过ORM操作数据库,实现数据层的灵活操作。
通过使用orm避免了直接写sql语句的麻烦和可能产生的错误,使用对象模型来表示表,可以更加清晰的表示逻辑。
orm的原理,通过就是将一个数据库客户端进行封装,然后通过调用方法,生成sql语句,对数据库进行操作。
通过这一系列的解耦,我们就可以通过自己的灵活组合来构建web应用,编程难度也大大降低,使得生产力得到了提高。
- 为什么需要web框架?
- 为什么需要框架
- 为什么需要Web Service
- 为什么需要用PHP框架
- 为什么需要框架(java)
- 为什么需要开发web接口
- 架构Web Service:为什么需要Web服务?
- 架构Web Service:为什么需要Web服务?
- 什么是web框架?解析为什么要用web框架?
- Java Web 框架需要解决的几个问题
- 为什么要使用Web开发框架
- java web开发为什么要使用框架
- 为什么开发Java Web都要用框架
- 产品研发记录01:为什么需要基础开发框架产品
- java语言中为什么需要集合框架这种技术?
- VisionMobile: 发现终结发布:为什么web需要新的领袖
- Sencha高级客户经理:为什么你需要考虑Mobile Web App
- Sencha高级客户经理:为什么你需要考虑Mobile Web App
- js 深浅拷贝
- linux服务器下svn搭建
- UnrealVS插件使用简介(UBT编译,UE4热更新)
- Vue.js + jQuery + bootstrap + sass 项目搭建
- Java 继承
- 为什么需要web框架?
- 学习注意事项
- 常见排序算法效率比较
- POJ 1548 Robots(DAG最小路径覆盖)
- 分词代码
- Ubuntu 10.04下设置开机时自动开启NumLock
- Hibernate Tools 代码生成
- winform listboxview 全选与全不选
- HDU6166(dijkstra)