Skip to content

Commit

Permalink
auto commit
Browse files Browse the repository at this point in the history
  • Loading branch information
CyC2018 committed May 27, 2018
1 parent 0d31132 commit a6d6f8b
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 40 deletions.
30 changes: 14 additions & 16 deletions notes/HTTP.md
Original file line number Diff line number Diff line change
Expand Up @@ -906,9 +906,9 @@ strSQL = "SELECT * FROM users;"

### 3. 防范手段

(一)使用参数化查询
**(一)使用参数化查询**

以下以 Java 中的 PreparedStatement 为例,它是预先编译的 SQL 语句,可以并且传入适当参数多次执行。由于没有拼接的过程,因此可以防止 SQL 注入的发生。
以下以 Java 中的 PreparedStatement 为例,它是预先编译的 SQL 语句,可以传入适当参数并且多次执行。由于没有拼接的过程,因此可以防止 SQL 注入的发生。

```java
PreparedStatement stmt = connection.prepareStatement("SELECT * FROM users WHERE userid=? AND password=?");
Expand All @@ -917,7 +917,7 @@ stmt.setString(2, password);
ResultSet rs = stmt.executeQuery();
```

(二)单引号转换
**(二)单引号转换**

将传入的参数中的单引号转换为连续两个单引号,PHP 中的 Magic quote 可以完成这个功能。

Expand Down Expand Up @@ -984,7 +984,7 @@ POST /add_row HTTP/1.1 -> Adds a 2nd row
POST /add_row HTTP/1.1 -> Adds a 3rd row
```

DELETE /idX/delete HTTP/1.1 是幂等的,即便是不同请求之间接收到的状态码不一样
DELETE /idX/delete HTTP/1.1 是幂等的,即便不同的请求接收到的状态码不一样

```
DELETE /idX/delete HTTP/1.1 -> Returns 200 if idX exists
Expand All @@ -996,9 +996,9 @@ DELETE /idX/delete HTTP/1.1 -> Returns 404

如果要对响应进行缓存,需要满足以下条件:

1. 请求报文的 HTTP 方法本身是可缓存的,包括 GET 和 HEAD,但是 PUT 和 DELETE 不可缓存,POST 在多数情况下不可缓存的。
2. 响应报文的状态码是可缓存的,包括:200, 203, 204, 206, 300, 301, 404, 405, 410, 414, and 501。
3. 响应报文的 Cache-Control 首部字段没有指定不进行缓存。
- 请求报文的 HTTP 方法本身是可缓存的,包括 GET 和 HEAD,但是 PUT 和 DELETE 不可缓存,POST 在多数情况下不可缓存的。
- 响应报文的状态码是可缓存的,包括:200, 203, 204, 206, 300, 301, 404, 405, 410, 414, and 501。
- 响应报文的 Cache-Control 首部字段没有指定不进行缓存。

## XMLHttpRequest

Expand All @@ -1010,14 +1010,12 @@ DELETE /idX/delete HTTP/1.1 -> Returns 404

# 九、HTTP/1.0 与 HTTP/1.1 的区别

1. HTTP/1.1 默认是持久连接
2. HTTP/1.1 支持管线化处理
3. HTTP/1.1 支持虚拟主机
4. HTTP/1.1 新增状态码 100
5. HTTP/1.1 支持分块传输编码
6. HTTP/1.1 新增缓存处理指令 max-age

具体内容见上文
- HTTP/1.1 默认是持久连接
- HTTP/1.1 支持管线化处理
- HTTP/1.1 支持虚拟主机
- HTTP/1.1 新增状态码 100
- HTTP/1.1 支持分块传输编码
- HTTP/1.1 新增缓存处理指令 max-age

# 十、HTTP/2.0

Expand All @@ -1026,7 +1024,7 @@ DELETE /idX/delete HTTP/1.1 -> Returns 404
HTTP/1.x 实现简单是以牺牲应用性能为代价的:

- 客户端需要使用多个连接才能实现并发和缩短延迟;
- 不会压缩请求和响应标头,从而导致不必要的网络流量;
- 不会压缩请求和响应首部,从而导致不必要的网络流量;
- 不支持有效的资源优先级,致使底层 TCP 连接的利用率低下。

## 二进制分帧层
Expand Down
47 changes: 23 additions & 24 deletions notes/Linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
* [目录配置](#目录配置)
* [五、文件](#五文件)
* [文件属性](#文件属性)
* [文件时间](#文件时间)
* [文件与目录的基本操作](#文件与目录的基本操作)
* [修改权限](#修改权限)
* [文件默认权限](#文件默认权限)
Expand Down Expand Up @@ -154,8 +153,8 @@ Linux 发行版是 Linux 内核及各种应用软件的集成版本。

| 基于的包管理工具 | 商业发行版 | 社区发行版 |
| :--: | :--: | :--: |
| DPKG | Ubuntu | Debian |
| RPM | Red Hat | Fedora / CentOS |
| DPKG | Ubuntu | Debian |

## VIM 三个模式

Expand Down Expand Up @@ -197,12 +196,12 @@ GNU 计划,译为革奴计划,它的目标是创建一套完全自由的操

Hard Disk Drives(HDD) 俗称硬盘,具有以下结构:

1. 盘面(Platter):一个硬盘有多个盘面;
2. 磁道(Track):盘面上的圆形带状区域,一个盘面可以有多个磁道;
3. 扇区(Track Sector):磁道上的一个弧段,一个磁道可以有多个扇区,它是最小的物理储存单位,目前主要有 512 bytes 与 4 K 两种大小;
4. 磁头(Head):与盘面非常接近,能够将盘面上的磁场转换为电信号(读),或者将电信号转换为盘面的磁场(写);
5. 制动手臂(Actuator arm):用于在磁道之间移动磁头;
6. 主轴(Spindle):使整个盘面转动。
- 盘面(Platter):一个硬盘有多个盘面;
- 磁道(Track):盘面上的圆形带状区域,一个盘面可以有多个磁道;
- 扇区(Track Sector):磁道上的一个弧段,一个磁道可以有多个扇区,它是最小的物理储存单位,目前主要有 512 bytes 与 4 K 两种大小;
- 磁头(Head):与盘面非常接近,能够将盘面上的磁场转换为电信号(读),或者将电信号转换为盘面的磁场(写);
- 制动手臂(Actuator arm):用于在磁道之间移动磁头;
- 主轴(Spindle):使整个盘面转动。

<div align="center"> <img src="../pics//014fbc4d-d873-4a12-b160-867ddaed9807.jpg" width=""/> </div><br>

Expand Down Expand Up @@ -271,9 +270,9 @@ MBR 不支持 2.2 TB 以上的硬盘,GPT 则最多支持到 2<sup>33</sup> TB

### 1. BIOS

BIOS(Basic Input/Output System,基本输入输出系统),它是一个固件(嵌入与硬件中的软件),BIOS 程序存放在断电后内容不会丢失的只读内存中。
BIOS(Basic Input/Output System,基本输入输出系统),它是一个固件(嵌入在硬件中的软件),BIOS 程序存放在断电后内容不会丢失的只读内存中。

BIOS 是开机的时候计算机执行的第一个程序,这个程序知道可以开机的磁盘,并读取磁盘第一个扇区的 MBR,由 MBR 执行 MBR 中的开机管理程序,这个开机管理程序会加载操作系统的核心文件。
BIOS 是开机的时候计算机执行的第一个程序,这个程序知道可以开机的磁盘,并读取磁盘第一个扇区的 MBR,由 MBR 执行其中的开机管理程序,这个开机管理程序会加载操作系统的核心文件。

<div align="center"> <img src="../pics//50831a6f-2777-46ea-a571-29f23c85cc21.jpg"/> </div><br>

Expand Down Expand Up @@ -301,13 +300,13 @@ BIOS 不可以读取 GPT 分区表,而 UEFI 可以。

最主要的几个组成部分如下:

1. inode:一个文件占用一个 inode,记录文件的属性,同时记录此文件的内容所在的 block 编号;
2. block:记录文件的内容,文件太大时,会占用多个 block。
- inode:一个文件占用一个 inode,记录文件的属性,同时记录此文件的内容所在的 block 编号;
- block:记录文件的内容,文件太大时,会占用多个 block。

除此之外还包括:

1. superblock:记录文件系统的整体信息,包括 inode 和 block 的总量、使用量、剩余量,以及文件系统的格式与相关信息等;
2. block bitmap:记录 block 是否被使用的位域;
- superblock:记录文件系统的整体信息,包括 inode 和 block 的总量、使用量、剩余量,以及文件系统的格式与相关信息等;
- block bitmap:记录 block 是否被使用的位域;

## 文件读取

Expand Down Expand Up @@ -404,11 +403,11 @@ ext3/ext4 文件系统引入了日志功能,可以利用日志来修复文件

9 位的文件权限字段中,每 3 个为一组,共 3 组,每一组分别代表对文件拥有者、所属群组以及其它人的文件权限。一组权限中的 3 位分别为 r、w、x 权限,表示可读、可写、可执行。

## 文件时间
文件时间有以下三种:

1. modification time (mtime):文件的内容更新就会更新;
2. status time (ctime):文件的状态(权限、属性)更新就会更新;
3. access time (atime):读取文件时就会更新。
- modification time (mtime):文件的内容更新就会更新;
- status time (ctime):文件的状态(权限、属性)更新就会更新;
- access time (atime):读取文件时就会更新。

## 文件与目录的基本操作

Expand Down Expand Up @@ -813,7 +812,7 @@ $ echo $var
$ echo ${var}
```

变量内容如果有空格,必须需要使用双引号或者单引号
变量内容如果有空格,必须使用双引号或者单引号

- 双引号内的特殊字符可以保留原本特性,例如 var="lang is \$LANG",则 var 的值为 lang is zh_TW.UTF-8;
- 单引号内的特殊字符就是特殊字符本身,例如 var='lang is \$LANG',则 var 的值为 lang is \$LANG。
Expand Down Expand Up @@ -842,10 +841,10 @@ $ echo ${array[1]}

## 指令搜索顺序

1. 以绝对或相对路径来执行指令,例如 /bin/ls 或者 ./ls ;
2. 由别名找到该指令来执行;
3. 由 Bash 内建的指令来执行;
4.\$PATH 变量指定的搜索路径的顺序找到第一个指令来执行。
- 以绝对或相对路径来执行指令,例如 /bin/ls 或者 ./ls ;
- 由别名找到该指令来执行;
- 由 Bash 内建的指令来执行;
-\$PATH 变量指定的搜索路径的顺序找到第一个指令来执行。

## 数据流重定向

Expand All @@ -854,7 +853,7 @@ $ echo ${array[1]}
| 1 | 代码 | 运算符 |
| :---: | :---: | :---:|
| 标准输入 (stdin) | 0 | < 或 << |
| 标准输出 (stdout) | 1 | > 或 >> |
| 标准输出 (stdout) | 1 | &gt; 或 >> |
| 标准错误输出 (stderr) | 2 | 2> 或 2>> |

其中,有一个箭头的表示以覆盖的方式重定向,而有两个箭头的表示以追加的方式重定向。
Expand Down

0 comments on commit a6d6f8b

Please sign in to comment.