精华内容
下载资源
问答
  • 键盘键值查询

    2007-10-18 15:38:43
    可以方便的查询键盘的对应的ASCII值,也可以通过输入键值进行查询什么按键。还可以进行键值的补充
  • Mysql提供一种需使用的方式,就是将参数 query_cahce_type 设置为DEMAND, 这样默认就不会缓存结果。但是可以显式指定需要缓存的语句。 如: select SQL_CAHE * from table where id = 1; 笔记点:Mysql8 取消了...

    写在前面

    当你敲出 select * from table where id = 1; Mysql都干了啥?所以说作为一个Mysql的重度使用的开发人员,我们不仅需要写出很好的SQL语句。更要了解Mysql的工作流程。

    Mysql基本结构

    总的来说,我理解Mysql由客户端和服务端构成。而服务端由可以分为server层和存储引擎层两部分。接下来我们就讨论下服务端的两层结构。
    如下图:
    基本结构

    详解

      1、连接器
      
      负责跟客户端建立连接、获取权限、管理连接等。
      比如: mysql -uroot -h127.0.0.0.1  -P3306 -p
      mysql 是客户端工具,进行tcp连接后,验证输入用户的合法性。
    
      * 账密不对,直接返回 Access denied for user XXX的错误,并结束。
      * 账密正确,需要验证当前用户的权限,具体在 mysql库 User 表中体现。
      
      笔记点:当一个有读写权限的用户连接数据库,期间更改了此用户只用读权限。不会立即生效,需要重新连接才会生效。
    
      2、缓存查询
    
      当连接完成、便来到查询缓存这一步。当拿到一个select语句时候,会先看是否执行过该条语句。若执行过则可能会以key-value的形式存储在内存中。若在内存中找到则直接返回。
      如果没有缓存则执行接下来的流程,执行完以后也会缓存到内存(当然需要开启缓存)。
      
      当然了凡事都有利弊,当你的表是频繁更新的话,不建议开启缓存。
    
      Mysql提供一种按需使用的方式,就是将参数 query_cahce_type 设置为DEMAND, 这样默认就不会缓存结果。但是可以显式指定需要缓存的语句。 
      如: select SQL_CAHE * from table where id = 1;
    
      笔记点:Mysql8 取消了查询缓存这一块的功能。
      
      3、分析器
      
      这个就是1、分析sql的词法:如select 是查询、delete 是删除... 表名、字段名等。 2、语法分析:比如分析select 是不是打成了 selec这种。
      
      笔记点:当你看到 you have an error in your SQL syntax 提示。建议直接查看 user near 后面的内容。
      
      4、优化器
            
      分析器告诉了mysql你要做什么,优化器的作用是怎么做更好。比如索引的选取、连表顺序等。这个后面再细说。      
    
      5、执行器
      
      调用引擎提供的接口操作数据。如我们的查询,执行器会先判断当前用户是否有查询的权限,若没有则抛出错误,有则执行查询。
    

    写在最后

    敲字不易,转载请注明来源。谢谢!

    展开全文
  • 这是一道经典的面试题,同时也是一道复杂的题目,涉及到很多东西,不同的软件开发者对于此道问题有不同的答案,对于其中的某一点也能无限深究,今天我们就来侧重于web前端来看一下究竟发生了什么。   2.知识...

    本文属转载,原文地址:https://www.cnblogs.com/sessionbest/articles/8688586.html

    1.背景介绍

           当你在浏览器地址栏输入一个URL后回车,将会发生的事情?这是一道经典的面试题,同时也是一道复杂的题目,涉及到很多东西,不同的软件开发者对于此道问题有不同的答案,对于其中的某一点也能无限深究,今天我们就来侧重于web前端来看一下究竟发生了什么。

     

    2.知识剖析

     

    基本流程:

    ①查询ip地址

    ②建立tcp连接,接入服务器

    ③浏览器发起http请求

    ④服务器后台操作并做出http响应

    ⑤网页的解析与渲染

     

     

    3.常见问题

    具体步骤?

     

    4.解决方案

    查询ip地址

    ①浏览器解析出url中的域名。

    ②查询浏览器的DNS缓存。

    ③浏览器中没有DNS缓存,则查找本地客户端hosts文件有无对应的ip地址。

    ④hosts中无,则查找本地DNS服务器(运营商提供的DNS服务器)有无对应的DNS缓存。

    ⑤若本地DNS没有DNS缓存,则向根服务器查询,进行递归查找。

    ⑥递归查找从顶级域名开始(如.com),一步步缩小范围,最终客户端取得ip地址。

     

    tcp连接与http连接

    ①http协议建立在tcp协议之上,http请求前,需先进行tcp连接,形成客户端到服务器的稳定的通道。俗称TCP的三次握手。

    ②tcp连接完成后,http请求开始,请求有多种方式,常见的有get,post等。

    ③http请求包含请求头,也可能包含请求体两部分,请求头中包含我们希望对请求文件的操作的信息,请求体中包含传递给后台的参数。

    ④服务器收到http请求后,后台开始工作,如负载平衡,跨域等,这里就是后端的工作了。

    ⑤文件处理完毕,生成响应数据包,响应也包含两部分,响应头和相应体,响应体就是我们所请求的文件。

    ⑥经过网络传输,文件被下载到本地客户端,客户端开始加载。

     

    html渲染

    ①客户端浏览器加载了html文件后,由上到下解析html为DOM树(DOM Tree)。

    ②遇到css文件,css中的url发起http请求。

    ③这是第二次http请求,由于http1.1协议增加了Connection: keep-alive声明,故tcp连接不会关闭,可以复用。

    ④http连接是无状态连接,客户端与服务器端需要重新发起请求--响应。

    在请求css的过程中,解析器继续解析html,然后到了script标签。

    ⑤由于script可能会改变DOM结构,故解析器停止生成DOM树,解析器被js阻塞,等待js文件发起http请求,然后加载。这是第三次http请求。js执行完成后解析器继续解析。

    ⑥由于css文件可能会影响js文件的执行结果,因此需等css文件加载完成后再执行。

    ⑦浏览器收到css文件后,开始解析css文件为CSSOM树(CSS Rule Tree)。

    ⑧CSSOM树生成后,DOM Tree与CSS Rule Tree结合生成渲染树(Render Tree)。

    ⑨Render Tree会被css文件阻塞,渲染树生成后,先布局,绘制渲染树中节点的属性(位置,宽度,大小等),然后渲染,页面就会呈现信息。

    ⑩继续边解析边渲染,遇到了另一个js文件,js文件执行后改变了DOM树,渲染树从被改变的dom开始再次渲染。

    ⑪继续向下渲染,碰到一个img标签,浏览器发起http请求,不会等待img加载完成,继续向下渲染,之后再重新渲染此部分。

    ⑫DOM树遇到html结束标签,停止解析,进而渲染结束。

     

    5.编码实战

     

    6.扩展思考

    有那些网站优化的方法?

    ①减少DNS查询:将服务器域名的ip信息加入本地host文件。

    ②减少http请求数量,对于图片使用雪碧图,对于html文件和css文件,js文件分别进行合并操作。

    ③减少下载时间:压缩图片,使用压缩应用压缩文档中的空格,删除文件多余的语句和注释,创造自己的js精简库和精简框架,使用本地浏览器缓存。

    ④提前渲染开始时间:将css链接放在html头部。

    ⑤减轻解析器的阻塞:将js链接放在body尾部。

     

    7.参考文献

    参考一:http://www.jianshu.com/p/5b069ae8c4f2

    参考二:http://blog.csdn.net/android1514/article/details/51281494

    展开全文
  • (递归查询)本地域名服务器以DNS客户身份查询 (迭代查询)依次访问根域名服务器、顶级域名服务器、域名服务器 第二步:三次握手建立TCP连接 第三步:发送HTTP请求 请求行: 请求方法+请求地址+http版本 请求头 ...

    第一步:查找域名对应的IP地址

    1. 主机查找:浏览器缓存 => 系统缓存 => 路由器缓存
    2. 递归查询)本地域名服务器以DNS客户身份查询
    3. 迭代查询)依次访问根域名服务器、顶级域名服务器、域名服务器

    第二步:三次握手建立TCP连接

    第三步:发送HTTP请求

    请求行: 请求方法+请求地址+http版本
    请求头
    请求体

    第四步:响应请求

    响应行:http版本+状态码+状态描述
    响应头
    响应体

    第五步:浏览器解析
    网页一边解析一边渲染到客户端页面

    第六步:四次挥手关闭连接

    在这里插入图片描述

    展开全文
  • 在浏览器中输入URL下回车后发生了什么 [1]解析URL [2]DNS查询,解析域名,将域名解析为IP地址 [3]ARP广播,根据IP地址来解析MAC地址 [4]分别从应用层到传输层、网络层和数据链路层分别加入各个层的头部...

    在浏览器中输入URL按下回车键后发生了什么

    [1]解析URL
    [2]DNS查询,解析域名,将域名解析为IP地址
    [3]ARP广播,根据IP地址来解析MAC地址
    [4]分别从应用层到传输层、网络层和数据链路层分别加入各个层的头部封装为包
    [5]进行三次握手后,客户端与服务器建立连接
    [6]客服务器向客户端返回数据,浏览器接收到数据
    [7]浏览器开始渲染页面

     

    补充:浏览器渲染页面详解

    [1]由从服务器接收到的html形成DOM
    [2]样式被加载和解析,形成css对象模型CSSOM
    [3]DOM和CSSOM创建一个渲染树
    [4]每个渲染元素来说,它的坐标是经过计算的,进行渲染树的布局layout
    [5]最后,将布局显示在浏览器窗口,进行渲染树的绘制painting

    补充:三次握手

    [1]建立连接时,客户端发送syn包到服务器,等待服务器确认
    [2]服务器收到syn包之后 ,确认客户的SYN,同时自己也发送一个SYN包
    [3]客户端收到服务器的包之后,向服务器发送确认包,此包发送完毕,客户端和服务器进入连接状态
    [4]开始传输数据

    补充:渲染被阻塞之后的猜测预加载

    [1]轻量级的html或css扫描器继续在文档中扫描
    [2]查找那些将来可能能够用到的资源文件的url
    [3]在渲染器使用它们之前将其下载下来

    展开全文
  • 1.查询浏览器的DNS缓存 2.若浏览器缓存中未找到该域名对应的ip,则查找操作系统的DNS缓存,即hosts文件中的域名与ip的映射关系 3.若在操作系统缓存中也没有找到,则查找本地DNS服务器缓存。 4.若本地DNS...
  • 那么你有没有想过,当你输入网址下Enter之后,在你看不见的地方,都发生了哪些事? 从C/S结构的角度去看,主要发生了以下这些事情: 1.DNS解析 DNS解析的过程就是一个寻找客户端访问的资源所在机器的过程,本质...
  • (先查找本地DNS缓存列表,没有的话再向默认的DNS服务器发送查询请求并缓存) 发起TCP的3次握手。 建立TCP连接后发起http请求。 服务器端响应http请求,浏览器得到html代码。 浏览器解析html代码,并请求...
  • 遇到这个问题是在网页input输入框下回车后被返回到登录页,感觉很奇怪,于是跟踪了代码,发现进入了拦截器流程但获取登录token失败而“踢到”登录页。 为什么会获取token失败呢?因为form在没有指明action属性...
  • F1F12通常称为功能,其中F指的是Function功能的意思,说明F1F12是12个功能。每一个电脑键盘标配都是... 当碰到一个程序或一个步骤不明白使用方法的时候,下F1可以查询该程序的帮助信息。但通常情况下我们
  • 在你建立索引完成时,可是你在navicat的试图中,在对应表的设计表中,没有...三、子查询 四、索引 一、外键: 1、什么是外键2、外键语法 3、外键的条件4、添加外键5、删除外键 1、什么是外键: 主键:
  • 什么HBase数据查询快速

    千次阅读 2016-11-24 16:17:53
    快速查询可以分作两方面: 一是根据亿级的记录中快速查询,二是以实时的方式查询数据。 A:如果快速查询(从磁盘读数据),hbase是根据rowkey查询的,只要能快速的定位rowkey, 就能实现快速的... 3、列存储的
  • 你的快速是指什么? 是根据亿级的记录中快速查询,还是说以实时的方式查询数据。 A:如果快速查询(从磁盘读数据),hbase是根据rowkey查询的,只要能快速的定位rowkey, 就能实现快速的查询,主要是以下因素: 1、...
  • 手机拨号输入#06# 查到的是什么信息手机在拨号键盘#06#的时候会出现手机的IMEI码。这个IMEI码又叫手机串号,使手机唯一的身份识别代码,跟人的×××号码一样,每一部手机都有这样一个唯一的代码,通过这个代码...
  • 下enter之后,到网页展现出来,到底经历了什么? 1.下enter 2.浏览器将域名解析为ip(省略细节,hosts,dns) 3.浏览器通过ip向服务端发起一次http请求(省略复杂的过程和协议) 4.服务端接收...
  • ​ 键盘事件就是我们对键盘的操作触发绑定元素对象的相关函数,比如敲击键盘上的某个,按住键盘上的某个组合快捷键后元素做出的函数行为……等这些都是键盘事件的体现。 2、常用键盘事件 事件 说明 ...
  • 很多数据库是不区分关键字大小写的,并且关键字还会有高亮,所以我为了写语句方便(不要频繁切换大小写或者shift)和看着方便(大写一般还要在大脑中转换下)关键字是使用小写。 什么是S...
  • mysql各种查询包括连接查询

    千次阅读 2014-05-27 15:10:36
    SQL查询语句大全集锦 MYSQL查询语句大全集锦 1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:2、创建一个数据库MYSQLDATA ... (回车出现Database changed 时说
  • 在编程时进行键盘和鼠标捕获等操作时,往往不知道具体什么键对应哪一个值,比如用来判断用户的是哪一个键位,或者用户是单击还是双击鼠标等等,这里提供一个查询表,方便大家使用。
  • 最近写了一个社区查询的模块,通过回车进行搜索。 But!问题来了~~~回车不听话,一回车就刷新是怎么个情况(装作目瞪口呆。。。)莫不是我绑定了什么奇奇怪...form表单有一个特性,若只有一个input,回车表单会自...
  • 按键驱动中,我们之前写了查询方式,中断方式,poll机制,这几个都是应用程序主动去读取键值,有没有一种驱动程序自己通知应用程序呢。就好比妈妈看护小孩,前三种是一直在他身边,等他醒了(有中断),妈妈再哄他...
  • 20190125批量查询

    2019-01-25 14:36:41
    https://blog.csdn.net/iteye_4442/article/details/82543868 notepad++为什么enter就会出现CRLF字符和设置快捷键函数单词自动补全   https://blog.csdn.net/menghuanzhiming/article/details/79886083 ...
  • MySQL常用查询

    2017-10-31 16:18:15
    1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:2、创建一个数据库MYSQLDATA ...mysql> CREATE DATABASE MYSQL... (回车出现Database changed 时说明操作成功!) 4:查看现在的
  • SQL查询语句大全集锦 MYSQL查询语句大全集锦 1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:2、创建一个数据库MYSQLDATA ... (回车出现Database changed 时说
  • (回车出现Database changed 时说明操作成功!) 4:查看现在的数据库中存在什么表 mysql> SHOW TABLES; 5:创建一个数据库表 mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1)); 6:显示表的结构: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 570
精华内容 228
关键字:

查询按什么键