六、静态网页与动态页面
- 静态网页:
随着html代码的生成,页面的内容和显示效果就不会发生变化了,除非你修改页面代码。
(静态网页使用超文本标记语言) - 动态网页:
页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。
(动态网页,以超文本标记语言为基础,结合脚本语言来编写)
注:不要将动态网页和页面内容是否有动画效果搞混。这里说的动态网页,与网页上的各种动画、滚动字幕等视觉上的动态效果没有直接关系,动态网页也可以是纯文字内容的,也可以是包含各种动画的内容,这些只是网页具体内容的表现形式,无论网页是否具有动态效果,只要是采用了动态网站技术生成的网页都可以称为动态网页。
动态页面优点:
(1)动态网页一般以动态加载数据技术为基础,可以大大降低网站维护的工作量
(2)采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等
(3)动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页动态页面缺点:
动态网页在访问速度上不占优势-
动态网页请求过程:
1、服务器首先获得用户的请求,
2、解析请求的url路径,路由到相应的视图函数(路由映射,C层 )
3、视图函数被调用后执行业务逻辑,调用模型函数(视图,C层)
4、模型函数到数据库或其它应用中获得数据返回给视图函数(模型,M层)
5、模板引擎把数据嵌入到HTML页面中并生成页面,再传递给用户浏览器,这样用户就看到了网页(模板,V层)。每次访问网页都要经过这个过程,访问的人数多,就会占用响应时间,页面的加载速度就会变慢,从用户角度来说,网页加载慢,就会影响用户体验。(引入的概念是多级缓存技术)
静态页面优点:
静态页面是实际存在于服务器端,请求后直接加载到客户浏览器上显示出来。(引入的概念是动态页面静态化技术)
七、前端渲染和后端渲染(只包含动态页面)
如何区分前端渲染和后端渲染要站在浏览器的角度上
后端渲染:
浏览器请求服务器后获得的是完整的html页面前端渲染:
浏览器请求服务器后只获得了html页面模板和数据(如果是APP 只获得了数据),浏览器执行js代码把数据嵌入到模板页面中
后端渲染特点
可维护性不好(前后端开发人员编写代码有交叉)
SEO友好,因为页面是完整的,搜索引擎能获得更多的信息
服务器压力大,服务器需要承担模板渲染的任务前端渲染特点
可维护性好(前后端开发人员分离,前后端通过约定的接口进行开发)
SEO不友好,加载后只能获得基本的html页面,信息量少
服务器压力小,显示渲染由客户端(包括浏览器或APP)承担
注:SEO是由英文Search Engine Optimization缩写而来, 中文意译为“搜索引擎优化”
八、API
-
api(应用程序编程接口)
API 接口属于一种操作系统或程序接口,GUI接口属于一种图形操作系统。两者都属于直接用户接口。有时公司会将 API 作为其公共开放系统。也就是说,公司制定自己的系统接口标准,当需要执行系统整合、自定义和程序应用等操作时,公司所有成员都可以通过该接口标准调用源代码,该接口标准被称之为开放式API。
函数、类、模块、系统
九、PV和UV
PV(page view)
即页面浏览量,通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标。网页浏览数是评价网站流量最常用的指标之一,简称为PV。监测网站PV的变化趋势和分析其变化原因是很多站长定期要做的工作。 Page Views中的Page一般是指普通的html网页,也包含php、jsp等动态产生的html内容。来自浏览器的一次html内容请求会被看作一个PV,逐渐累计成为PV总数。-
UV (unique visitor)
指访问某个站点或点击某条新闻的不同IP地址的人数
在同一天内,uv只记录第一次进入网站的具有独立IP的访问者,在同一天内再次访问该网站则不计数。独立IP访问者提供了一定时间内不同观众数量的统计指标,而没有反应出网站的全面活动重复访问者数量(repeat visitors)
每个访问者的页面浏览数(Page Views per user)
十、项目文档
- API设计
1、用户登陆
- 访问URL:/login
- 访问方式:POST
- 提交参数:
参数名 类型 必选 描述
username String True 用户名
password String True 密码
captcha String True 验证码
- 响应
客户端使用ajax提交,返回数据格式为JSON格式{ 'status': 200, 'msg': msg, 'data': data }
- 错误提示
- CODE_ERROR = 'CODE_ERROR' # 验证码错误
PASSWORD_USER_ERROR = 'PASSWORD_USER_ERROR' # 用户或密码出错
ALREADY_LOGIN = 'ALREADY_LOGIN' #已经登陆
LOGIN_SUCCESS = 'LOGIN_SUCCESS' #登陆成功
LOGIN_ERROR = 'LOGIN_ERROR'
2、用户登出
访问URL:/loginout
访问方式:GET
响应
重定向到首页
数据库结构设计
存储结构
-数据库:mysql
-表名:user
-用户表数据结构
字段 类型 描述
id int 主键自增ID
username string 用户名
password string 用户密码