Skip to content

Commit

Permalink
update 2021年07月14日 19:33:55
Browse files Browse the repository at this point in the history
  • Loading branch information
No-Github committed Jul 14, 2021
1 parent 6100a63 commit b90f15b
Show file tree
Hide file tree
Showing 88 changed files with 3,632 additions and 976 deletions.
27 changes: 14 additions & 13 deletions 1earn/Develop/Web/HTTP/HTTP报文.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

---

# 基础
## 基础

HTTP 请求报文由3部分组成(请求行+请求头+请求体):

Expand Down Expand Up @@ -45,11 +45,11 @@ HTTP 的响应报文也由三部分组成(响应行+响应头+响应体):
- **404 Not Found** 你最不希望看到的,即找不到页面。如你在 google 上找到一个页面,点击这个链接返回 404,表示这个页面已经被网站删除了,google 那边的记录只是美好的回忆。
- **500 Internal Server Error** 看到这个错误,你就应该查查服务端的日志了,肯定抛出了一堆异常,别睡了,起来改 BUG 去吧!

更多关于状态码参考 [Speed-Web](../Speed-Web.md#响应状态码) 响应状态码部分
更多关于状态码参考 [HTTP状态码](./HTTP状态码.md)

---

# 请求方法
## 请求方法

---

Expand All @@ -71,9 +71,9 @@ HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和

---

# HTTP headers
## HTTP headers

**Reference**
**Source & Reference**
- [HTTP头部详解](https://blog.csdn.net/YLBF_DEV/article/details/50266447)
- [HTTP 响应头信息](https://www.runoob.com/http/http-header-fields.html)
- [HTTP 请求头中的 X-Forwarded-For](https://imququ.com/post/x-forwarded-for-header-in-http.html)
Expand All @@ -83,7 +83,7 @@ HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和

通常 HTTP 消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。HTTP 的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。

## 通用头域
### 通用头域

通用头域包含请求和响应消息都支持的头域,通用头域包含 `Cache-Control``Connection``Date``Pragma``Transfer-Encoding``Upgrade``Via`。对通用头域的扩展要求通讯双方都支持此扩展,如果存在不支持的通用头域,一般将会作为实体头域处理。下面简单介绍几个在 UPnP 消息中使用的通用头域。

Expand Down Expand Up @@ -127,7 +127,7 @@ Connection 表示连接状态
---
## 请求消息(请求头)
### 请求消息(请求头)
请求消息的第一行为下面的格式:Method Request-URI HTTP-Version
Expand Down Expand Up @@ -169,7 +169,7 @@ Range:bytes=554554-
---
## 响应消息(响应头)
### 响应消息(响应头)
响应信息如内容类型,类型的长度,服务器信息,设置 Cookie
Expand Down Expand Up @@ -205,7 +205,7 @@ Location 响应头用于重定向接收者到一个新 URI 地址。Server 响
---
## 实体消息(实体头和实体)
### 实体消息(实体头和实体)
请求消息和响应消息都可以包含实体信息,实体信息一般由实体头域和实体组成。
Expand Down Expand Up @@ -246,7 +246,7 @@ Remote Address 无法伪造,因为建立 TCP 连接需要三次握手,如果
---
## 实例
### 实例
**HTTP 请求消息头部实例**
```
Expand Down Expand Up @@ -282,7 +282,7 @@ Connection:close
---
## 头部详解
### 头部详解
**Accept**
Expand Down Expand Up @@ -477,7 +477,7 @@ WEB 服务器用该头部的内容告诉 Cache 服务器,在什么条件下才
---
# POST 请求数据提交格式
## POST 请求数据提交格式
服务端通常是根据请求头(headers)中的 Content-Type 字段来获知请求中的消息主体是用何种方式编码,再对主体进行解析。所以说到 POST 提交数据方案,包含了 Content-Type 和消息主体编码方式两部分。
Expand Down Expand Up @@ -548,6 +548,7 @@ Content-Transfer-Encoding: binary
---
**Reference**
## Source & Reference
- [HTTP请求行、请求头、请求体详解](https://blog.csdn.net/u010256388/article/details/68491509)
- [Content-Disposition](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Disposition)
64 changes: 7 additions & 57 deletions 1earn/Develop/Web/Speed-Web.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@

---

# HTTP
## HTTP

**URL**

Expand All @@ -67,69 +67,19 @@ web 开发中通过英文问号(?)方式在浏览器地址栏中传值时。

---

## HTTP报文
### HTTP报文

- [HTTP 报文](./HTTP/HTTP报文.md)

---

## 响应状态码
### 响应状态码

所有 HTTP 响应的第一行都是状态行,依次是当前 HTTP 版本号,3位数字组成的状态代码,以及描述状态的短语,彼此由空格分隔。

有多种响应状态

| 状态码 | 含义 | 说明 |
| :--- | :--- | :--- |
| 1xx | 临时响应 | 表示临时响应并需要请求者继续执行操作的状态代码.|
| 100 | 继续 | 请求者应当继续提出请求. 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分.|
| 101 | 切换协议 | 请求者已要求服务器切换协议,服务器已确认并准备切换.|
| 2xx | 成功 | 表示成功处理了请求的状态代码.|
| 200 | 成功 | 服务器已成功处理了请求. 通常,这表示服务器提供了请求的网页.|
| 201 | 已创建 | 请求成功并且服务器创建了新的资源.|
| 202 | 已接受 | 服务器已接受请求,但尚未处理.|
| 203 | 非授权信息 | 服务器已成功处理了请求,但返回的信息可能来自另一来源.|
| 204 | 无内容 | 服务器成功处理了请求,但没有返回任何内容.|
| 205 | 重置内容 | 服务器成功处理了请求,但没有返回任何内容.|
| 206 | 部分内容 | 服务器成功处理了部分 GET 请求.|
| 3xx | 重定向 | 表示要完成请求,需要进一步操作. 通常,这些状态代码用来重定向.|
| 300 | 多种选择 | 针对请求,服务器可执行多种操作. 服务器可根据请求者(user agent)选择一项操作,或提供操作列表供请求者选择.|
| 301 | 永久移动 | 请求的网页已永久移动到新位置. 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置.|
| 302 | 临时移动 | 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求.|
| 303 | 查看其他位置 | 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码.|
| 304 | 未修改 | 自从上次请求后,请求的网页未修改过. 服务器返回此响应时,不会返回网页内容.|
| 305 | 使用代理 | 请求者只能使用代理访问请求的网页. 如果服务器返回此响应,还表示请求者应使用代理.|
| 307 | 临时重定向 | 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求.|
| 4xx | 请求错误 | 这些状态代码表示请求可能出错,妨碍了服务器的处理.|
| 400 | 错误请求 | 服务器不理解请求的语法.|
| 401 | 未授权 | 请求要求身份验证. 对于需要登录的网页,服务器可能返回此响应.|
| 402 | 未支付 | 402状态码被创建最初目的是用于数字现金或微型支付系统, 表明客户端请求的内容只有付费之后才能获取.|
| 403 | 禁止 | 服务器拒绝请求.|
| 404 | 未找到 | 服务器找不到请求的网页.|
| 405 | 方法禁用 | 禁用请求中指定的方法.|
| 406 | 不接受 | 无法使用请求的内容特性响应请求的网页.|
| 407 | 需要代理授权 | 此状态代码与 401 类似,但指定请求者应当授权使用代理.|
| 408 | 请求超时 | 服务器等候请求时发生超时.|
| 409 | 冲突 | 服务器在完成请求时发生冲突. 服务器必须在响应中包含有关冲突的信息.|
| 410 | 已删除 | 如果请求的资源已永久删除,服务器就会返回此响应.|
| 411 | 需要有效长度 | 服务器不接受不含有效内容长度标头字段的请求.|
| 412 | 未满足前提条件 | 服务器未满足请求者在请求中设置的其中一个前提条件.|
| 413 | 请求实体过大 | 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力.|
| 414 | 请求的 URI 过长 | 请求的 URI (通常为网址)过长,服务器无法处理.|
| 415 | 不支持的媒体类型 | 请求的格式不受请求页面的支持.|
| 416 | 请求范围不符合要求 | 如果页面无法提供请求的范围,则服务器会返回此状态代码.|
| 417 | 未满足期望值 | 服务器未满足"期望"请求标头字段的要求.|
| 5xx | 服务器错误 | 这些状态代码表示服务器在尝试处理请求时发生内部错误. 这些错误可能是服务器本身的错误,而不是请求出错.|
| 500 | 服务器内部错误 | 服务器遇到错误,无法完成请求.|
| 501 | 尚未实施 | 服务器不具备完成请求的功能. 例如,服务器无法识别请求方法时可能会返回此代码.|
| 502 | 错误网关 | 服务器作为网关或代理,从上游服务器收到无效响应.|
| 503 | 服务不可用 | 服务器目前无法使用 (由于超载或停机维护). 通常,这只是暂时状态.|
| 504 | 网关超时 | 服务器作为网关或代理,但是没有及时从上游服务器收到请求.|
| 505 | HTTP 版本不受支持 | 服务器不支持请求中所用的 HTTP 协议版本.|
- [HTTP 状态码](./HTTP/HTTP状态码.md)

---

## MIME types
### MIME types

在浏览器中显示的内容有 HTML、有 XML、有 GIF、还有 Flash ……那么,浏览器是如何区分它们,决定什么内容用什么形式来显示呢?答案是 MIME Type,也就是该资源的媒体类型。

Expand Down Expand Up @@ -171,13 +121,13 @@ web 开发中通过英文问号(?)方式在浏览器地址栏中传值时。

---

# HTML
## HTML

- [Speed-HTML](./HTML/Speed-HTML.md)

---

# CSP
## CSP

**文章**
- [开启CSP网页安全政策防止XSS攻击](https://www.cnblogs.com/leaf930814/p/7368429.html)
Expand Down
3 changes: 3 additions & 0 deletions 1earn/Develop/标记语言/JSON/JSON学习笔记.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
- https://www.json.cn/
- http://www.bejson.com/

**JSONPath 在线查询工具**
- http://jsonpath.com/

---

**什么是 JSON ?**
Expand Down
33 changes: 18 additions & 15 deletions 1earn/Develop/标记语言/XML/XML学习笔记.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

---

# 概述
## 概述

XML 用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML 文档结构包括 XML 声明、DTD 文档类型定义(可选)、文档元素。

Expand Down Expand Up @@ -32,7 +32,7 @@ XML 无所不在.

---

## 用途
### 用途

XML 应用于 Web 开发的许多方面,常用于简化数据的存储和共享。

Expand Down Expand Up @@ -84,7 +84,7 @@ XML 数据以文本格式存储。这使得 XML 在不损失数据的情况下

---

## XML 和 HTML 之间的差异
### XML 和 HTML 之间的差异

XML 和 HTML 为不同的目的而设计:
- XML 被设计用来传输和存储数据,其焦点是数据的内容。
Expand All @@ -104,7 +104,7 @@ XML 不是对 HTML 的替代

---

# 语法
## 语法

XML 的语法规则很简单,且很有逻辑。这些规则很容易学习,也很容易使用。

Expand Down Expand Up @@ -140,6 +140,8 @@ XML 声明文件的可选部分,如果存在需要放在文档的第一行,

UTF-8 也是 HTML5, CSS, JavaScript, PHP, 和 SQL 的默认编码。

如果以类似 `<!DOCTYPE note SYSTEM "book.dtd">` 声明的是文档定义类型(DTD:Document Type Definition),DTD 是可选的。

**所有的 XML 元素都必须有一个关闭标签**

在 HTML 中,某些元素不必有一个关闭标签:
Expand Down Expand Up @@ -261,7 +263,7 @@ XML 以 LF 存储换行。

---

# 树结构
## 树结构

XML 文档形成了一种树结构,它从"根部"开始,然后扩展到"枝叶"。

Expand Down Expand Up @@ -341,7 +343,7 @@ XML 文档中的元素形成了一棵文档树。这棵树从根部开始,并

---

## XML 文档的构建模块
### XML 文档的构建模块

所有的 XML 文档(以及 HTML 文档)均由以下简单的构建模块构成:
- 元素
Expand Down Expand Up @@ -378,7 +380,7 @@ XML 文档中的元素形成了一棵文档树。这棵树从根部开始,并

---

## 元素
### 元素

**什么是 XML 元素?**

Expand Down Expand Up @@ -469,7 +471,7 @@ Don't forget me this weekend!

XML 的优势之一,就是可以在不中断应用程序的情况下进行扩展。

## 属性
### 属性

XML 元素具有属性,类似 HTML。

Expand Down Expand Up @@ -612,7 +614,7 @@ body="Don't forget me this weekend!">

---

# 格式验证
## 格式验证

拥有正确语法的 XML 被称为"形式良好"的 XML。

Expand Down Expand Up @@ -667,7 +669,7 @@ W3C 支持一种基于 XML 的 DTD 代替者,它名为 XML Schema:

---

## 查看 XML 文件
### 查看 XML 文件

在所有主流的浏览器中,均能够查看原始的 XML 文件。

Expand Down Expand Up @@ -761,9 +763,9 @@ XSLT 文件

---

# XML JavaScript
## XML JavaScript

## XML HTTP Request
### XML HTTP Request

**XMLHttpRequest 对象**

Expand All @@ -783,7 +785,7 @@ xmlhttp=new XMLHttpRequest();
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
```

## XML Parser
### XML Parser

所有现代浏览器都有内建的 XML 解析器。

Expand Down Expand Up @@ -837,7 +839,7 @@ xmlDoc.loadXML(txt);

---

## XML DOM
### XML DOM

XML DOM(XML Document Object Model)定义了访问和操作 XML 文档的标准方法。

Expand Down Expand Up @@ -931,5 +933,6 @@ document.getElementById("message").innerHTML=xmlDoc.getElementsByTagName("body")

---

**Source & Reference**
## Source & Reference

- [XML 教程](https://www.runoob.com/xml/xml-tutorial.html)
39 changes: 39 additions & 0 deletions 1earn/Integrated/Linux/Power-Linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -4469,6 +4469,45 @@ cpan -T [module] # 忽略测试项安装
---
## PHP
<p align="center">
<img src="../../../assets/img/logo/php.svg" width="15%">
</p>
**安装**
```bash
# 安装必要的软件包
apt-get install -y php php-cli php-zip
```
## composer
Composer 是 PHP 的一个依赖管理工具。我们可以在项目中声明所依赖的外部工具库,Composer 会帮你安装这些依赖的库文件,有了它,我们就可以很轻松的使用一个命令将其他人的优秀代码引用到我们的项目中来。
**安装**
```bash
# 使用php cli toll下载Composer安装脚本
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
# 在/usr/local/bin目录中安装Composer
apt-get composer-setup.php --install-dir=/usr/local/bin --filename=composer
# 验证安装
composer
```
**使用**
```bash
# 以下为 CVE-2017-9841 测试
apt-get install -y php-xml php-mbstring
composer require --dev phpunit/phpunit:5.6.2
php -S localhost:8080 -t .
```
---
## Python3
<p align="center">
Expand Down
Loading

0 comments on commit b90f15b

Please sign in to comment.