看到了这种web开发流程,码农瞬间成为程序员(二)

六、静态网页与动态页面

  • 静态网页:
    随着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 用户密码

猜你喜欢

转载自blog.csdn.net/qq_42992919/article/details/94614318