欢迎光临散文网 会员登陆 & 注册

记录- 4.26

2023-04-27 11:09 作者:剑离我离  | 我要投稿

mysql

176.第二高的薪水

limit n子句表示查询结果返回前n条数据

offset n表示跳过x条语句

limit y offset x 分句表示查询结果跳过 x 条数据,读取前 y 条数据

177.第N高的薪水

不能直接用limit N-1是因为limit和offset字段后面只接受正整数(意味着0、负数、小数都不行)或者单一变量(意味着不能用表达式),也就是说想取一条,limit 2-1、limit 1.1这类的写法都是报错的。

窗口函数

超过经理收入的员工

内连接,同一个select from 两张表

4.25

mysql

196.删除重复的电子邮箱

  1. delete p1

DELETE p1就表示从p1表中删除满足WHERE条件的记录。

2.p1.Id > p2.Id

a. 从表p1取出3条记录;

b. 拿着第1条记录去表p2查找满足WHERE的记录,代入该条件p1.Email = p2.Email AND p1.Id > p2.Id后,发现没有满足的,所以不用删掉记录1;

c. 记录2同理;

d. 拿着第3条记录去表p2查找满足WHERE的记录,发现有一条记录满足,所以要从p1删掉记录3;

e. 3条记录遍历完,删掉了1条记录,这个DELETE也就结束了。

HTTP

状态码:

  • 200 OK 一切正常

  • 204 No Content与200基本。但响应头没有body数据

  • 206 Partial Content 是应用于HTTP 分块下载或断点续传,表示响应返回的body数据并不是资源的全部,而是其中的一部分,也是服务器处理成功的状态。

  • 301 Moved Permanently表示永久重定向,说明请求的资源已经不存在了,需改用新的URL再次访问。

  • 302 Foud表示临时重定向,说明请求的资源还在,但暂时需要用另一个URL来访问。

301 和302 都会在响应头使用字段 Location,致命后续要跳转的URL,浏览器会重定向新的URL。

  • 304 Not Modified 缓存重定向

  • 400 Bad Request

  • 403 Forbidden 表示服务器禁止访问资源,并不是客户端的请求出错

  • 404 Not Found

  • 500 Internal Server Error 与400同类型。

  • 501 Not Implemented 表示客户端的请求的功能还不支持,类似“即将开业,敬请期待”的意思。

  • 502 Bad Gatway

  • 503 Service Unavailabnle表示服务器当前很忙,暂时无法响应。

HTTP/1.1

优点:简单、灵活和易于扩展、应用广泛和跨平台。

缺点:无状态、明文传输、不安全。

性能:基于【请求-应答】 模式。 长连接、管道网络传输(未使用)、队头阻塞

HTTPS

HTTP 默认端⼝号是 80,HTTPS 默认端⼝号是 443。

HTTPS 解决的问题:信息加密(混合加密)、校验机制(摘要算法)、身份证书(数字证书)

混合加密:在通信建⽴前采⽤⾮对称加密的⽅式交换「会话秘钥」,后续就不再使⽤⾮对称加密。在通信过程中全部使⽤对称加密的「会话秘钥」的⽅式加密明⽂数据。

两个的区别:

  • 对称加密只使⽤⼀个密钥,运算速度快,密钥必须保密,⽆法做到安全的密钥交换。

  • ⾮对称加密使⽤两个密钥:公钥和私钥,公钥可以任意分发⽽私钥保密,解决了密钥交换问题但速度慢。

4.26

HTTP

HTTP /1.1 存在的问题:请求/响应头部未经压缩就发送,浪费多;队头阻塞;没有请求优先级控制;请求只能从客户端开始。

HTTP /2 相比HTTP /1.1 的改进

  • 头部压缩(HPACK算法,在服务端和服务端同时维护一张头信息表,发送时只发送索引就可以)

  • 二进制格式(分为头信息帧数据帧

  • 并发传输(一个TCP有多个Stream,Stream可以包含1个或多个Message,Message  包含一个或多个Frame,这是HTTP/2 的最小单位 ) 通过Stream ID 来有序组装HTTP消息,不同Stream可以并发发送。

  • 服务器主动推送资源。(服务器建立的Stream ID 必须是偶数) 

HTTP /2的缺陷:

队头阻塞,体现在TCP丢包重传上。因为TCP是面向字节流的,TCP必须保证收到的字节数据是完整且连续的,内核才会把缓冲区里的数据返回给 HTTP 应用。

HTTP3 优点:使用QUIC协议;无队头阻塞、更快的连接建立;连接迁移

HTTP /1.1 如何优化:

  • 缓存方案避免发送HTTP 请求

  • 减少HTTP 请求次数: 减少重定向请求次数(交由代理服务器完成)、合并请求(合并资源,以大资源请求代替多个小资源请求,但这样会带来额外的带宽消耗)

  • 延迟发送请求(不重要的后加载)


记录- 4.26的评论 (共 条)

分享到微博请遵守国家法律