diff --git a/notes/HTTP.md b/notes/HTTP.md index 18163b4a..11c91fd1 100644 --- a/notes/HTTP.md +++ b/notes/HTTP.md @@ -353,16 +353,33 @@ Session 是服务器用来跟踪用户的一种手段,每个 Session 都有一 1. 让代理服务器进行缓存; 2. 让客户端浏览器进行缓存。 -**Cache-Control** +**Cache-Control 字段** -该字段用于控制缓存的行为。Cache-Contro : no-cache 有两种含义: +HTTP 通过 Cache-Control 首部字段来控制缓存。 -1. 如果是客户端向缓存服务器发送的请求报文中含有该指令,表示客户端不想要缓存的资源; -2. 如果是源服务器向缓存服务器发送的响应报文中含有该指令,表示缓存服务器不能对资源进行缓存。 +```html +Cache-Control: private, max-age=0, no-cache +``` -**过期时间** +**no-cache 指令** -Expires 字段可以用于告知缓存服务器该资源什么时候会过期。当首部字段 Cache-Control 有指定 max-age 指令时,比起 Expires 字段,会优先处理 max-age 指令。 +该指令出现在请求报文的 Cache-Control 字段中,表示缓存服务器需要先向原服务器验证缓存资源是否过期; + +该指令出现在响应报文的 Cache-Control 字段中,表示缓存服务器在进行缓存之前需要先验证缓存资源的有效性。 + +**no-store 指令** + +该指令表示缓存服务器不能对请求或响应的任何一部分进行缓存。 + +no-cache 不表示不缓存,而是缓存之前需要先进行验证,no-store 才是不进行缓存。 + +**max-age 指令** + +该指令出现在请求报文的 Cache-Control 字段中,如果缓存资源的缓存时间小于该指令指定的时间,那么就能接受该缓存。 + +该指令出现在响应报文的 Cache-Control 字段中,表示缓存资源在缓存服务器中保存的时间。 + +Expires 字段也可以用于告知缓存服务器该资源什么时候会过期。在 HTTP/1.1 中,会优先处理 Cache-Control : max-age 指令;而在 HTTP/1.0 中,Cache-Control : max-age 指令会被忽略掉。 ## 持久连接 @@ -405,7 +422,6 @@ Content-Type: text/plain --AaB03x-- ``` - ## 范围请求 如果网络出现中断,服务器只发送了一部分数据,范围请求使得客户端能够只请求未发送的那部分数据,从而避免服务器端重新发送所有数据。 diff --git a/notes/数据库系统原理.md b/notes/数据库系统原理.md index c8e5ef20..407cec94 100644 --- a/notes/数据库系统原理.md +++ b/notes/数据库系统原理.md @@ -287,7 +287,9 @@ MySQL InnoDB 采用的是两阶段锁协议。在事务执行过程中,随时 # 数据库的三层模式和两层映像 -外模式:局部逻辑结构;模式:全局逻辑结构;内模式:物理结构。 +- 外模式:局部逻辑结构 +- 模式:全局逻辑结构 +- 内模式:物理结构 ## 外模式 @@ -311,25 +313,25 @@ MySQL InnoDB 采用的是两阶段锁协议。在事务执行过程中,随时 # ER 图 -Entity-Relationship,包含三个部分:实体、属性、联系。 +Entity-Relationship,有三个组成部分:实体、属性、联系。 ## 实体的三种联系 联系包含 1 对 1,1 对多,多对多三种。 -如果 A 到 B 是 1 对多关系,那么画个带箭头的线段指向 B;如果是 1 对 1,画两个带箭头的线段;如果是多对多,画两个不带箭头的线段。 +如果 A 到 B 是 1 对多关系,那么画个带箭头的线段指向 B;如果是 1 对 1,画两个带箭头的线段;如果是多对多,画两个不带箭头的线段。下图的 Course 和 Student 是 1 对多的关系。

## 表示出现多次的关系 -一个实体在联系出现几次,就要用几条线连接。如下表示一个课程的先修关系,先修关系中,应当出现两个 Course 实体,第一个是先修课程,后一个是后修课程,因此需要用两条线来表示这种关系。 +一个实体在联系出现几次,就要用几条线连接。下图表示一个课程的先修关系,先修关系出现两个 Course 实体,第一个是先修课程,后一个是后修课程,因此需要用两条线来表示这种关系。

## 联系的多向性 -下图中一个联系表示三个实体的关系。虽然老师可以开设多门课,并且可以教授多名学生,但是对于特定的学生和课程,只有一个老师教授,这就构成了一个三元联系。 +虽然老师可以开设多门课,并且可以教授多名学生,但是对于特定的学生和课程,只有一个老师教授,这就构成了一个三元联系。

@@ -339,15 +341,19 @@ Entity-Relationship,包含三个部分:实体、属性、联系。 ## 表示子类 -用 is-a 联系来表示子类,具体做法是用一个三角形和两条线来连接类和子类。与子类有关的属性和联系都连到子类上,而与父类和子类都有关的连到父类上。 +用 IS-A 联系来表示子类,具体做法是用一个三角形和两条线来连接类和子类。与子类有关的属性和联系都连到子类上,而与父类和子类都有关的连到父类上。

# 一些概念 -**数据模型** 由数据结构、数据操作和完整性三个要素组成。 +**数据模型** -**数据库系统** 包括了数据库,数据库管理系统,应用程序以及数据库管理员和用户,还包括相关的硬件和软件。也就是说数据库系统包含所有与数据库相关的内容。 +由数据结构、数据操作和完整性三个要素组成。 + +**数据库系统** + +数据库系统包含所有与数据库相关的内容,包括数据库、数据库管理系统、应用程序以及数据库管理员和用户,还包括相关的硬件和软件。 # 参考资料