simple-webserver
简单 WEBserver实现本文实现一个简单的无状态的HTTP协议。原理是任意的web客户端向服务端发起一个GET请求或者POST请求,然后web服务器分析头几个字节来确定客户端发起的请求方式,然后服务器回应对应请求的响应。
0x01 http协议简介引用百度百科对于http协议的定义
超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。
简单来说HTTP协议是一个应用层协议,且它是面向连接的,即基于TCP协议来传输超文本。一个典型的工作过程如下图
其中发送请求的HTTP报文为请求报文,服务端返回响应的报文叫响应报文。而HTTP报文大概可分为报文头部和数据部分两块,HTTP报文本身是由多行(CRLF换行)数据构成的字符串文本,HTTP的首部和数据部分用CRLF来划分。通常不一定会 ...
socket_study
网络协议编程网络基础协议一组规则
分层模型结构OSI七层模型:物理层 -> 数据链路层 -> 网络层 -> 传输层 -> 会话层 -> 表示层 -> 应用层TCP/IP 网络模型: 网络接口层 -> 网络层 -> 传输层 -> 应用层
网络传输流程端对端通信: 逐层封装,逐层解封
网络应用程序设计模式2种常见的模型
C/S
B/S
优点
缓存大量数据、协议选择灵活
安全性好、跨平台、开发工作量小
速度快
缺点
安全性差、不跨平台、开发工作量大
不能缓存大量数据、严格遵循http
socket编程套接字概念在TCP/IP协议中,IP地址+TCP或 UDP端口号标识网络通讯中的一个进程。IP address + PORT 就可以对应一个soket.欲建立的连接的2个进程各自有一个socket来标识,那么这个两个socket组成的socket pair (IP PORT IP PORT) 就唯一标识一个连接.因此可以用Socket来描述网络连接一对一的关系。
tips:
在网络通信中 ...
git-usage
git 基本使用0x00 基本介绍仓库(Repository)
1仓库就是你的项目
收藏(Star)
1仓库主页star按钮,星星的数量为收藏的人数
复制克隆项目(Fork)
12点击这个别人的项目就进入你的仓库了,你就可以在你的仓库二次开发,对他原来的项目不影响,同理,别人也可以对你的项目进行二次开发
发起请求(Pull Request)
123这个选项基于fork,如果你想把你的二次开发合并到原作者的项目中那么你可以向原作者发起一个Pull Request请求,如果他同意了你的二次开发就会更新到原作者的项目中
关注(Watch)
1关注某个项目,如果这个项目有了任何更新,你都会第一时间收到关于这个项目的通知提醒
事物卡片(Issue)
1发现项目的问题,进行讨论的地方
基本功能与命令
0x01 Git 使用Git工作区域Git Repositpry (Git 仓库)
1最终确认的文件保存到仓库,成为一个新的版本,并且对他人可见
暂存区
1暂存已经修改的文件最后统一提交到git仓库中
工作区 (Working Directory)
12就是本地电脑中的目录添加、编辑 ...
pacman usage
排列源1sudo pacman-mirrors -i -c China -m rank
更新源 安装软件12pacman -Sy pacman -Syy # 强制更新源
软件更新1pacman -Su
查询软件1pacman -Ss # 支持正则
清理软件包缓存12pacman -Sc # 清楚旧的软件包pacman -Scc # 清除所有缓存
卸载软件12pacman -Rpacman -Rns # 删除的同时删除依赖与全局配置文件
查询本机软件123pacman -Q # 查询本机所有软件pacman -Qe # 查询自己安装的软件pacman -Qdt # 查询孤包`-q`选项 不显示版本信息