综合学习---运行原理总结

/****************************************************************************/
/*****************************运行原理总结***********************************/

/* Mysql运行原理 */
{
	1. 客户端发送一条查询给服务器;
	2. 服务器先会检查查询缓存,如果命中了缓存,则立即返回存储在缓存中的结果。否则进入下一阶段;
	3. 服务器端进行SQL解析、预处理,再由优化器生成对应的执行计划;
	4. MySQL根据优化器生成的执行计划,调用存储引擎的API来执行查询;
	5. 将结果返回给客户端。
}

/* PHP运行原理 */
{
	拿到一段代码后,经过词法解析、语法解析等阶段后,源程序会被翻译成一个个指令(opcodes),然后ZEND(引擎)虚拟机顺次执行这些指令完成操作。
	[说明]
	1、PHP的执行的核心是翻译出来的一条一条指令,也即opcode。
	2、Opcode是PHP程序执行的最基本单位。一个opcode由两个参数(op1,op2)、返回值和处理函数组成。PHP程序最终被翻译为一组opcode处理函数的顺序执行。
}

/* 第三方支付原理 */
{
	1.1用户向商城网站发起确认订单的请求
  1.2商城网站接收到请求保存订单数据到数据库或其他存储介质
  1.3返回订单确认页面,页面上应该显示订单金额等信息
  1.4用户确认支付,发起支付请求。注:支付请求是发送到支付网关(比如支付宝、网银在线)而不是发送到商城网站。
  1.5显示支付页面
  1.6用户填写认证信息(账号密码等)提交
  1.7这里有两个步骤一个是扣款成功后页面跳转到支付结果页面(展示给用户),另一个是支付通知,这两步没有先后顺序可能同时执行,商城网站接收到支付通知
       后根据验证规则验证信息的有效性,并作出相应的更改操作。(例:有效则更改订单为已付款状态,无效则记录非法请求信息)。
}

/* 第三方登录 */
{
	第三方登陆主要使用的是author协议,就以QQ的第三方登陆为例来进行说明:当用户在我们的站点请求QQ的第三方登陆时,我们站点会引导用户跳转到QQ的登陆
	授权界面, 当用户输入QQ和密码成功登录以后会自动跳回到我们站点设置好的回调页面,并附带一个code参数,接着你使用code再次去请求QQ的授权页面,
	就可以从中获取到一个access token(访问令牌),通过这个access_token,我们可以调用QQ提供给我们的接口,比如获取open_id,可以获取用户的基本信
	息。获取到之后,我们需要拿用户的授权信息和open_id和我们平台的普通用户进行绑定。这样不管是普通用户登陆还是第三方登陆用户,都可以实现登陆。
}

你可能感兴趣的:(综合学习---运行原理总结)