前端Ajax-Day33
通信:三要素:主体、内容、方式
通信协议:指通信双方必须遵守的规则和约定。

HTTP(HyperText Transfer Protocol):超文本传输协议。规定了客户端与服务器之间进行网页内容传输时遵守的传输格式。
网页内容称为超文本,故网页内容的传输协议就称为超文本传输协议即HTTP协议。

HTTP协议交互模型:请求/响应

HTTP请求消息:客户端发起的请求叫做HTTP请求,客户端发送到服务器的消息叫做HTTP请求消息。

HTTP请求消息:由请求行、请求头部、空行和请求体四部分组成。

① 请求行:由请求方式、URL、HTTP协议版本组成

② 请求头部:描述客户端的基本信息,由多个键值对组成


③ 空行:用来分隔请求头部和请求体,在最后一个请求体字段之后,提醒服务器请求头部到此结束。

④ 请求体:存放要通过POST方式提交到服务器的数据。
只有POST方式才有请求体!!!

HTTP响应消息:服务器响应给客户端的消息内容。
HTTP响应消息组成:由状态行、响应头部、空行、响应体组成。

① 状态行:由协议版本、状态码、状态码描述文本组成。

② 响应头部:用来描述服务器的基本信息,由多行键值对组成。

③ 空行:用于分割响应头部和响应体。在响应头部最后字段的末尾。

④ 响应体:服务器响应给客户端的内容。

HTTP请求方法:表明要对服务器上的资源进行操作。

HTTP响应状态码:用于标识响应的状态。

1开头代表服务器收到请求,请求继续操作。2开头代表成功。3开头代表重定向,需要进一步操作。4开头代表客户端错误。5开头代表服务器错误。

① 2开头的响应状态码:成功

② 3开头的响应状态码:重定向

③ 4开头的响应状态码:客户端请求错误

④ 5开头的响应状态码:服务器错误

Git:分布式版本控制系统
特性:① 直接记录快照、而非差异比较 ② 近乎所有操作都是本地执行。

记录快照:对未作改变的文件生成一个链接指向本身。


Git的三个区域:工作区、暂存区、Git仓库
Git的三种状态:已修改、已暂存、已提交

Git工作流程:
① 在工作区中修改文件。
② 将下次提交的更改进行暂存。
③ 提交更新,找到暂存区文件,将快照永久性存储到Git仓库。
Git基本操作:
配置用户信息:git config --global

检查配置信息: git config --list --global

获取帮助信息:git help xxx / git xxx -h

获取Git仓库:
① 将本次目录转为Git仓库:git init 命令

② 从其他服务器克隆一个已存在的Git仓库:
工作区文件状态:

Git操作的终极结果:工作区中的文件都处于未修改状态:即都与仓库中的文件内容完全一致。
查看文件状态:git status

以精简方式显示文件状态:git status -s / git status --short

跟踪新文件:git add + 文件名

提交更新:git commit 加-m后是本次提交描述消息


对已提交文件进行修改:修改过的且未放入暂存区的文件前有红色M标记。

暂存已修改的文件:修改过的且已经放入暂存区的文件前有绿色M标记

提交已暂存的文件:

撤销对文件的修改:git checkout --文件名
所有修改会丢失,且无法恢复。

向暂存区中一次性添加多个文件:git add .

取消已暂存的文件:git reset HEAD 移除文件名
同样可以git reset HEAD . 移除所有文件
跳过使用暂存区:git commit -a 直接将工作区的文件提交到Git仓库中

移除文件:
① 从Git仓库和工作区中同时移除:git rm -f 文件名
② 只从Git仓库中移除指定文件:git rm --cached 文件名
忽略文件:创建.gitignore配置文件列出要忽略的文件匹配模式

glob模式:简化的正则表达式


查看提交历史:git log

回退到指定版本:git reset --hard <CommitID> commitID为历史提交记录前的唯一ID值

开源许可协议:

常见开源许可协议:

Github远程仓库的访问方式:HTTPS和SSH

基于HTTPS将本地项目上传到Github仓库:

如果在本地进行了文件更新,只需要在Git Bash里将文件更新加入到本地仓库内,再利用git push命令进行同步。
基于SSH将本地项目上传到Github仓库:

生成SSH key:

配置SSH key:

检测SSH key是否配置成功:ssh -T git@github.com

基于SSH将本地仓库上传到Github仓库:在本地创建好仓库,使用GitHub提供的命令进行上传。
将远程仓库克隆到本地仓库:git clone 远程仓库的地址

Git分支:远程仓库默认名为origin
初始化本地仓库,git会自动创建master分支,即主分支。
master主分支用于保存和记录整个项目已完成的功能代码。
功能分支:专门用来开发新功能的分支。最终合并到master分支上。
查看分支列表:git branch
分支前有*代表正处于该分支。

创建新分支:git branch 新分支名称
基于当前分支,创建一个新分支。执行完后还是处于当前分支,不会跳转地到新分支。

切换分支:git checkout 分支名称

分支的快速创建和切换:git checkout -b 分支名称
(一般在主分支上创建分支)

合并分支:git merge 分支名称(先切换到主分支,再进行分支的合并)
假设要将C分支合并到A分支,需要先切换到A分支,再进行merge操作。

删除分支:git branch -d 分支名称(不能处于删除分支上)

遇到冲突时进行分支合并:在两个不同的分支中,对同一个文件进行不同的修改,故无法进行合并。

本地分支推送到远程仓库:git push -u 远程仓库的别名 本地分支名称:远程分支名称(只在第一次推送时需要-u参数)

查看远程分支列表:git remote show 远程仓库名

跟踪分支:git checkout 远程分支名 (即从远程仓库中,将远程分支下载到本地仓库中)

拉取分支的最新代码:git pull

删除远程分支:git push 远程仓库名 --delete 远程分支名称

强制删除本地分支:git branch -D 分支名称


浙公网安备 33010602011771号