一、HTML 基础

1.1 HTML 概述

HTML(HyperText Markup Language)是一种标准标记语言,用于创建和设计网页内容。HTML 文档由标签(tags)组成,这些标签定义了文档的结构和内容。

1.2 HTML 基本结构

:声明文档类型为 HTML5。
<html>:HTML 文档的根元素。
<head>:包含文档的元数据,如标题和链接到外部资源。
<body>:包含网页的可见内容,如文本、图片和链接。

1.3 常用 HTML 标签

文本标签:

标题:<h1><h6>,定义不同级别的标题。
段落:<p>,定义段落。
链接:<a href="URL">,定义超链接。
强调:<strong>(加粗)和 <em>(斜体)。

列表:

无序列表:<ul><li>
有序列表:<ol><li>

表格:

表格:<table><tr>(行)、<td>(单元格)、<th>(表头)。

媒体:

图像:<img src="URL" alt="description">
视频:<video src="URL" controls>

二、HTTP 协议基础

2.1 HTTP 协议概述

HTTP(HyperText Transfer Protocol)是客户端和服务器之间的通信协议。它定义了请求和响应的格式以及通信规则。

2.2 请求报文

请求行: 包含方法、请求 URL 和 HTTP 版本。例如:GET /index.html HTTP/1.1。
请求头:包含请求的元数据,如 Host、User-Agent、Accept 等。
请求体:用于 POST 请求,包含提交的数据。

2.3 响应报文

状态行:包含 HTTP 版本、状态码和状态消息。例如:HTTP/1.1 200 OK。
响应头:包含响应的元数据,如 Content-Type、Content-Length 等。
响应体:包含实际的内容,如 HTML 页面。

三、HTTP 状态码

3.1 1xx(信息性状态码)

100 Continue:继续请求,表示请求已接收,客户端应继续发送请求数据。
101 Switching Protocols:切换协议,服务器根据客户端的请求升级协议。

3.2 2xx(成功状态码)

200 OK:请求成功,服务器返回请求的资源。
201 Created:资源创建成功,通常用于 POST 请求。
204 No Content:请求成功,但没有返回内容。

3.3 3xx(重定向状态码)

301 Moved Permanently:资源永久移动,客户端应使用新的 URL。
302 Found:资源临时移动,客户端应使用新的 URL,但后续请求应使用原 URL。
304 Not Modified:资源未修改,客户端可以使用缓存的版本。

3.4 4xx(客户端错误状态码)

400 Bad Request:请求无效或语法错误。
401 Unauthorized:未经授权,需要身份验证。
403 Forbidden:禁止访问,服务器拒绝请求。
404 Not Found:资源未找到,URL 错误或资源不存在。

3.5 5xx(服务器错误状态码)

500 Internal Server Error:服务器内部错误,无法完成请求。
502 Bad Gateway:网关错误,服务器作为网关或代理时返回错误。
503 Service Unavailable:服务不可用,服务器当前无法处理请求。

四、HTTP 请求方式

4.1 GET 请求

功能:用于从服务器请求资源,参数通常附加在 URL 中。
特点:请求数据在 URL 中,适用于获取数据,不应有副作用。

4.2 POST 请求

功能:用于向服务器提交数据,参数包含在请求体中。
特点:请求数据在请求体中,适用于提交表单、创建或更新资源。

五、HTTP 请求头

5.1 常见请求头

Host:请求的主机名。
User-Agent:客户端的软件信息,如浏览器版本。
Accept:客户端可以接受的媒体类型。
Content-Type:请求体的数据类型,如 application/json、text/html。
Authorization:用于认证的信息,如令牌或凭证。

六、Markdown 语法

6.1 基本语法

标题:使用 # 符号定义标题等级,如 # 一级标题、## 二级标题。
列表:
无序列表:使用 *、- 或 +。

有序列表:使用数字加点,如 1.、2.。
强调:使用 * 或 _,如 *斜体***加粗**

链接:[链接文本](URL)
图片:![替代文本](图片URL)
代码:
内联代码:使用反引号 代码
代码块:使用三个反引号 代码块
引用:使用 > 符号定义引用。

七、URL 请求协议和 HTTP 请求方法

7.1 常见 URL 请求协议

HTTP:超文本传输协议,用于 web 数据传输。
HTTPS:安全超文本传输协议,是 HTTP 的加密版本。
FTP:文件传输协议,用于文件传输。

7.2 GET 和 POST 请求的区别

GET:
用途:获取数据。
数据位置:参数在 URL 中。
特点:请求可缓存,易于书签。
POST:
用途:提交数据。
数据位置:参数在请求体中。
特点:数据较大,通常不缓存,适用于敏感数据提交。

7.3 实际应用场景

GET:适用于获取网页、图片等静态资源。例如,访问新闻网站的主页。
POST:适用于提交表单数据,如用户注册、评论提交等。例如,用户登录和评论提交。

八、Linux 常见操作

8.1 文件/目录/软连接的操作

文件操作:

创建:touch filename
删除:rm filename
移动:mv source destination
复制:cp source destination

目录操作:

创建:mkdir dirname
删除:rmdir dirname(空目录)或 rm -r dirname(非空目录)
移动:mv source destination
复制:cp -r source destination

软连接:

创建:ln -s target linkname
删除:rm linkname

8.2 用户权限

查看权限:ls -l
修改权限:chmod mode filename
修改所有者:chown owner:group filename

8.3 系统信息和监控

查看系统信息:
系统信息:uname -a
磁盘使用:df -h
内存使用:free -h

系统监控:

进程监控:tophtop
网络监控:netstat -tulnss -tuln

8.4 常用文本处理工具

sed:流编辑器,用于文本替换、插入、删除等操作。
示例:sed 's/old/new/g' file 替换文件中的内容。
awk:文本处理工具,用于模式扫描和处理。
示例:awk '{print $1}' file 打印文件的第一列。
grep:文本搜索工具,用于在文件中查找匹配的行。
示例:grep 'pattern' file 查找匹配的内容。

8.5 SSH 远程登录

连接:ssh username@hostname
配置:可以通过修改 ~/.ssh/config 文件来简化连接过程。

8.6 计划任务

查看计划任务:crontab -l
编辑计划任务:crontab -e
计划任务示例:0 2 * * * /path/to/command 每天凌晨 2 点执行指定命令。