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. CPU, PSU, SPU - Oracle Critical Patch Update Terminology Update

    It all started in January 2005 with Critical Patch Updates (CPU).  Then Patch Set Updates (PSU) were ...

  2. P1843 奶牛晒衣服(二分)

    思路:就是一个模板,只是找最小化而已.在判断函数里面:当湿度<=x*A不判断, 反之sum+=(a[i]-x*A)/B+(a[i]-x*A)%B?1:0; #include<iostrea ...

  3. 當 Alexa 遇上 ESP8266 (一)

    https://www.birdandgua.net/bird/2017/12/when_alexa_meets_esp8266-1/ 去年的 AWS 的 re:Invent 上,我見識了 Alexa ...

  4. modbus与rs485的关系_modbus与rs485的区别和联系

    http://www.elecfans.com/tongxin/123/20180103610476.html 经常看到RS485和MODBUS写在一起,它们的区别和联系? RS485是一个物理接口, ...

  5. Python+Pycharm—学习1—封装&导入

    一.封装 目的: 写了一个复杂功能的实现,下次有相同的需求时可以直接导入这个包来使用.就可以达到复用的目的了.通俗的来讲就是打包.(以下用四则运算举例) 方案: 1.1.新建python工程,新建一个 ...

  6. OpenCV3计算机视觉Python语言实现笔记(一)

    Python3下OpenCV的安装 :http://blog.csdn.net/lwplwf/article/details/61616493 1. 读/写图像文件 OpenCV的imread()函数 ...

  7. ORM简介 单表添加修改删除表记录

    ---------------------------------------------------------------目标既定,在学习和实践过程中无论遇到什么困难.曲折都不灰心丧气,不轻易改变 ...

  8. struts2的基本使用

    struts2在web中当作前端控制器,接收来自页面的请求,使用过滤器拦截模式对请求进行拦截并交给相应配置的action类处理. 所以在web中使用最重要的是struts2的核心过滤器StrutsPr ...

  9. CF每日一练 Codeforces Round #520 (Div. 2)

    比赛过程总结:过程中有事就玩手机了,后面打的状态不是很好,A题理解错题意,表明了内心不在状态,B题想法和思路都是完全正确的,但是并没有写出来,因为自己代码能力不强,思路不是特别清晰,把代码后面写乱了, ...

  10. SoftWater——SDN+UnderWater系列论文一

    ---- SoftWater: Software-defined networking for next-generation underwater communication systems 来源: ...