1. Web访问流程(即在浏览器中输入一个网址至浏览器展现页面结果的过程)

a. 将输入的网址提取出域名,在本地hosts文件中查找对应的IP地址(windows为C:/windows/system32/drivers/etc/hosts; linux为/etc/hosts)

b. 如果没有在本地hosts文件中找到对应的IP地址,则请求DNS服务器,DNS服务器对域名进行解析,返回对应IP(如果页面没有响应也有可能是DNS服务器故障)

c. 本地浏览器发起HTTP请求,向IP主机服务器发起请求,HTTP请求包含请求头,消息报头,请求正文

d. 服务器接收HTTP请求,获取请求的应用和请求的资源

e. 服务器创建创建一个HTTP响应,返回客户机请求的资源,HTTP响应头包括响应头,消息爆头,响应正文

f. 客户机接收HTTP响应并解析资源,展现结果

2. Web访问相应的协议(HTTP与TCP,UDP,Socket之间的关系)

a. HTTP协议是为Web而生的,是应用层的协议;建立连接是依靠TCP协议,HTTP协议本身只发送和接收数据

  HTTP1.0协议每次请求都需要建立一次连接,请求完成则释放连接

  HTTP1.1协议则每次建立连接可以发送多次请求,每个请求可以重叠,无需等待第一个请求结束这可以发送第二个请求,两个请求同时进行

b. HTTP协议的底层是基于TCP协议,TCP协议是传输层的协议;

  使用TCP协议建立的连接是可靠的,使用UDP协议建立的连接是不可靠的

  TCP协议是通过三次握手实现的(客户端发送数据包syn=j并进入SYN_SEND状态; 服务器接收到syn包,同时发送ack包syn=j+1及syn包syn=k至客户端;客户端接收后再次发送ack包ack=k+1从而建立连接)

c. UDP和TCP都是传输层的协议,TCP协议和UDP协议只建立连接

d. Socket是套接字,并不是一种协议,使用Socket可以建立TCP或者UDP协议的连接

3. Yii2框架的启动流程

a. 访问入口文件

b. 访问配置文件

c. 加载核心类

d. 加载框架

e. 路由解析

f. 从数据库读取数据

g. 调用模板渲染页面

4. Yii2的组件

(1)入口脚本与配置文件(包括数据库配置等其他配置),类自动加载(自动加载核心类和框架),代码生成(gii代码生成器,可使用界面生成,也可使用命令生成)

(2)数据库迁移(完成数据库的结构的迁移及数据的导入和导出), 行为(包括执行前行为执行后行为,访问控制行为),模块(将系统分成小模块),控制器,模型(数据表模型,表单验证模型,其他业务模型),数据库操作(完成数据库的连接,增删改查,连表操作,关联操作,事务),助手类(字符串助手,数组助手,URL助手)

(3)视图(列表页视图ListView, 表格视图GridView,详情页视图DetailView,搜索页视图SearchModel,表单页视图FormModel),小部件(每一个页面都包含多个小部件StateWidget),前端资源(CSS和JS库)

(4)后台UI(使用UI框架构建后台系统页面,入Admintle)

(5)RestAPI(构建微服务架构)

(6)控制台程序(执行脚本修改数据,包括带参数,表格输出,格式化输出,选择运行,确认运行)

(7)安全(加密和解密)

(8)角色权限控制和数据权限控制(RBAC角色权限控制, 对每一条数据进行访问控制)

(9)打印(使用tcpdf,mpdf进行打印单据)

(10)导出Excel(使用框架自带的导出控件,使用php-excel表写导出助手类进行导出)

(11)文件上传(使用php编写文件上产程序, 使用框架自动的文件上传, 上产图片到七牛)

(12)使用gii生成模型:

 php yii gii/model --tableName=* --ns= --baseClass= --enableI18N=

Yii2总结的更多相关文章

  1. Yii2的深入学习--行为Behavior

    我们先来看下行为在 Yii2 中的使用,如下内容摘自 Yii2中文文档 行为是 [[yii\base\Behavior]] 或其子类的实例.行为,也称为 mixins,可以无须改变类继承关系即可增强一 ...

  2. 网站实现微信登录之回调函数中登录逻辑的处理--基于yii2开发的描述

    上一篇文章网站实现微信登录之嵌入二维码中描述了如何在自己的登录页面内嵌入登录二维码,今天的这篇文章主要是描述下在扫码成功之后微信重定向回网站后登录逻辑的处理,其实也就是验证身份信息,授权用户登录的逻辑 ...

  3. 网站实现微信登录之嵌入二维码——基于yii2开发的描述

    之前写了一篇yii2获取登录前的页面url地址的文章,然后发现自己对于网站实现微信扫码登录功能的实现不是很熟悉,所以,我会写2-3篇的文章来描述下一个站点如何实现微信扫码登录的功能,来复习下微信扫码登 ...

  4. yii2获取登录前的页面url地址--电脑和微信浏览器上的实现以及yii2相关源码的学习

    对于一个有登录限制(权限限制)的网站,用户输入身份验证信息以后,验证成功后跳转到登录前的页面是一项很人性化的功能.那么获取登录前的页面地址就很关键,今天在做一个yii2项目的登录调试时发现了一些很有意 ...

  5. 记一次nginx部署yii2项目时502 bad gateway错误的排查

    周六闲来无事,就试着安装和部署下yii2,安装过程没什么问题,但部署到nginx上时遇到了502 bad gatewary问题,折腾了半天才搞定.这个问题是我以前在部署yii2时没有遇到过的,因此记在 ...

  6. yii2的权限管理系统RBAC简单介绍

    这里有几个概念 权限: 指用户是否可以执行哪些操作,如:编辑.发布.查看回帖 角色 比如:VIP用户组, 高级会员组,中级会员组,初级会员组 VIP用户组:发帖.回帖.删帖.浏览权限 高级会员组:发帖 ...

  7. yii2 RESTful api的详细使用

    作者:白狼 出处:http://www.manks.top/yii2-restful-api.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则 ...

  8. yii2 ActiveRecord多表关联以及多表关联搜索的实现

    作者:白狼 出处:http://www.manks.top/yii2_many_ar_relation_search.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明 ...

  9. yii2权限控制rbac之rule详细讲解

    作者:白狼 出处:http://www.manks.top/yii2_rbac_rule.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留 ...

  10. yii2组件之多图上传插件FileInput的详细使用

    作者:白狼 出处:http://www.manks.top/yii2_multiply_images.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连 ...

随机推荐

  1. 待解决问题 :JDBC indexInsert.addBatch(); 为什么不生效 PSTM

    JDBC  indexInsert.addBatch(); 为什么不生效 PSTM

  2. 08 python 初学(字典)

    字典是 python 中唯一的映射类型 .采用键值对(key-value)的形式存储数据. python 对 key 进行哈希函数运算,根据计算的结果决定 value 的存储地址,所以字典时无需存储的 ...

  3. pycharm 安装及使用

    pycharm 的使用: IDE 集成开发环境(Integrated Development Environment) VIM 经典的Linux下的文本编辑器 EMACS: Linux文本编辑器,比v ...

  4. 测试 Flask 应用

    测试 Flask 应用 没有经过测试的东西都是不完整的 这一箴言的起源已经不可考了,尽管他不是完全正确的,但是仍然离真理不远.没有测试过的应用将会使得提高现有代码质量很困难,二不测试应用程序的开发者, ...

  5. Oracle数据块深入分析总结

    http: 最近在研究块的内部结构,把文档简单整理了一下,和大家分享一下.该篇文章借助dump和BBED对数据 库内部结构进行了分析,最后附加了一个用BBED解决ORA-1200错误的小例子.在总结的 ...

  6. 本地搭了http服务(localhost),怎么在vue环境下,通过axios获取到接口数据

    1. 找到 vue项目\config\index.js 文件 2. proxyTable: { '/api': { target: 'http://127.0.0.1:9420', changeOri ...

  7. face detection[S^3FD]

    本文来自<\(S^3\)FD: Single Shot Scale-invariant Face Detector>,时间线为2017年11月. 0 引言 基于锚的目标检测方法,是通过分类 ...

  8. Ionic1 环境破坏后程序重新恢复过程

    ionic platform remove android ionic platform add android cordova plugin add cordova-plugin-network-i ...

  9. kafka模型理解

    1.消息发送至一个topic,而这个topic可以由多个partition组成,每条消息在partition中的位置称为offset 2.消息存在有效期,如果设置为2天,则消息2天后会被删除 3.每个 ...

  10. 扒一拔:Java 中的泛型(一)

    目录 1 泛型 1.1 为什么需要泛型 1.2 类型参数命名规约 2 泛型的简单实用 2.1 最基本最常用 2.2 简单泛型类 2.2.1 非泛型类 2.2.2 泛型类的定义 2.2.3 泛型类的使用 ...