From a6d6f8b29e9a66982038eef09f1e194f9587323e Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Sun, 27 May 2018 10:50:13 +0800 Subject: [PATCH] auto commit --- notes/HTTP.md | 30 ++++++++++++++---------------- notes/Linux.md | 47 +++++++++++++++++++++++------------------------ 2 files changed, 37 insertions(+), 40 deletions(-) diff --git a/notes/HTTP.md b/notes/HTTP.md index 923c3f2d..f87e5ff3 100644 --- a/notes/HTTP.md +++ b/notes/HTTP.md @@ -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=?"); @@ -917,7 +917,7 @@ stmt.setString(2, password); ResultSet rs = stmt.executeQuery(); ``` -(二)单引号转换 +**(二)单引号转换** 将传入的参数中的单引号转换为连续两个单引号,PHP 中的 Magic quote 可以完成这个功能。 @@ -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 @@ -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 @@ -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 @@ -1026,7 +1024,7 @@ DELETE /idX/delete HTTP/1.1 -> Returns 404 HTTP/1.x 实现简单是以牺牲应用性能为代价的: - 客户端需要使用多个连接才能实现并发和缩短延迟; -- 不会压缩请求和响应标头,从而导致不必要的网络流量; +- 不会压缩请求和响应首部,从而导致不必要的网络流量; - 不支持有效的资源优先级,致使底层 TCP 连接的利用率低下。 ## 二进制分帧层 diff --git a/notes/Linux.md b/notes/Linux.md index 5fce729a..9e0fdcee 100644 --- a/notes/Linux.md +++ b/notes/Linux.md @@ -30,7 +30,6 @@ * [目录配置](#目录配置) * [五、文件](#五文件) * [文件属性](#文件属性) - * [文件时间](#文件时间) * [文件与目录的基本操作](#文件与目录的基本操作) * [修改权限](#修改权限) * [文件默认权限](#文件默认权限) @@ -154,8 +153,8 @@ Linux 发行版是 Linux 内核及各种应用软件的集成版本。 | 基于的包管理工具 | 商业发行版 | 社区发行版 | | :--: | :--: | :--: | -| DPKG | Ubuntu | Debian | | RPM | Red Hat | Fedora / CentOS | +| DPKG | Ubuntu | Debian | ## VIM 三个模式 @@ -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):使整个盘面转动。

@@ -271,9 +270,9 @@ MBR 不支持 2.2 TB 以上的硬盘,GPT 则最多支持到 233 TB ### 1. BIOS -BIOS(Basic Input/Output System,基本输入输出系统),它是一个固件(嵌入与硬件中的软件),BIOS 程序存放在断电后内容不会丢失的只读内存中。 +BIOS(Basic Input/Output System,基本输入输出系统),它是一个固件(嵌入在硬件中的软件),BIOS 程序存放在断电后内容不会丢失的只读内存中。 -BIOS 是开机的时候计算机执行的第一个程序,这个程序知道可以开机的磁盘,并读取磁盘第一个扇区的 MBR,由 MBR 执行 MBR 中的开机管理程序,这个开机管理程序会加载操作系统的核心文件。 +BIOS 是开机的时候计算机执行的第一个程序,这个程序知道可以开机的磁盘,并读取磁盘第一个扇区的 MBR,由 MBR 执行其中的开机管理程序,这个开机管理程序会加载操作系统的核心文件。

@@ -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 是否被使用的位域; ## 文件读取 @@ -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):读取文件时就会更新。 ## 文件与目录的基本操作 @@ -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。 @@ -842,10 +841,10 @@ $ echo ${array[1]} ## 指令搜索顺序 -1. 以绝对或相对路径来执行指令,例如 /bin/ls 或者 ./ls ; -2. 由别名找到该指令来执行; -3. 由 Bash 内建的指令来执行; -4. 按 \$PATH 变量指定的搜索路径的顺序找到第一个指令来执行。 +- 以绝对或相对路径来执行指令,例如 /bin/ls 或者 ./ls ; +- 由别名找到该指令来执行; +- 由 Bash 内建的指令来执行; +- 按 \$PATH 变量指定的搜索路径的顺序找到第一个指令来执行。 ## 数据流重定向 @@ -854,7 +853,7 @@ $ echo ${array[1]} | 1 | 代码 | 运算符 | | :---: | :---: | :---:| | 标准输入 (stdin) | 0 | < 或 << | -| 标准输出 (stdout) | 1 | > 或 >> | +| 标准输出 (stdout) | 1 | > 或 >> | | 标准错误输出 (stderr) | 2 | 2> 或 2>> | 其中,有一个箭头的表示以覆盖的方式重定向,而有两个箭头的表示以追加的方式重定向。