客户端与服务端
客户端获取资源的表述(资源的外在呈现)不是资源的本身,资源的的表述包含了数据的描述和数据的元数据,浏览器与服务器间通过HTTP协议协商,浏览器通过Accept头请求一种特定的格式表述,服务器通过Content-type返回给浏览器客户端资源的表述形式。
状态转移
在REST设计原则中客户端与服务端的交互是无状态(HTTP协议的特性),客户端维护应用的状态,服务端维护资源的状态,但服务端不保存客户端状态。只有在每一次的请求中包含处理请求的信息,"会话"被客户端用作为应用状态进行跟踪,在服务端的超媒体的指引下发生变迁。服务端通过超媒体告诉客户端当前状态有哪些后续状态可以进入。
ps
- 违反无
继续阅读 »
redis https://github.com/antirez/redis/blob/5.0/src/adlist.h
https://github.com/antirez/redis/blob/5.0/src/adlist.c
结构体的定义
结构体的实现,双向链表的相关定义于adlist.h中
节点:
```C++
typedef struct listNode {
struct listNode *prev; //前一个节点
struct listNode *next; //后一个节点
void *value; //节点的值
} listNode;
more
迭代器:
C++
typedef s
继续阅读 »
计算机内部通信时,可以使用管道,内存共享,信号量,消息队列等,在计算机间的通信时,在运输层使用协议的端口号来标识,计算机的一个进程,即;IP地址+协议+端口号标识网络中的一个进程,也被称之为套接字。
more
端口号
TCP中使用16位的端口号用于标识端口,故端口号的范围是:0~65535,共$2^{16}$个端口。
端口号分类
服务端
熟知端口号:
取值范围:0~1023
应用程序|FTP|TELENT|SMTP|DNS|TFTP|HTTP|HTTP|SNMP
--|--|--|--|--|--|--|--|--|--
端口号|21|23|25|53|69|80|443|161
- 登记端口号:
取值范围:1024~49
继续阅读 »
Go环境变量
GOROOT
golang当前的安装目录
GOPATH
golang工作区的集合,放置golang源码文件的目录,包含以下三个目录
├── bin //编译后的可执行文件
├── pkg //存放go install命令安装后的代码包的归档文件
└── src //源码存放,命令源码文件并不一定必须放在 src 文件夹
GOBIN
指向编译后的可执行文件,上述的bin目录
GOOS 和 GOARCH
两个环境变量是不用我们设置的,系统就默认的。GOOS 是 Go 所在的操作系统类型,GOARCH 是 Go 所在的计算架构。
more
Go命令基
继续阅读 »
HTTP协议本身是一种面向资源的应用层协议,但对HTTP协议的使用实际上存在着两种不同的方式:一种是RESTful的,它把HTTP当成应用层协议,比较忠实地遵守了HTTP协议的各种规定;另一种是SOA的,它并没有完全把HTTP当成应用层协议,而是把HTTP协议作为了传输层协议,然后在HTTP之上建立了自己的应用层协议.
RESTful(Representational State Transfer 表述性状态转移):对基于HTTP的应用提供了一种设计原则,即:
RESTFul定义的URL
RESTful架构又被称作为“面向资源开发”,将任何可命名的概念视为资源,资源可以是实体或抽象的概念,URL的命名以名词为核心.URL表达了
继续阅读 »
IP地址
地址的分类
IP(Internet Protocol国际互联网协议)的长度为32为(bit),分为4段,常用十进制数字表示,每段数字的范围是1~254,一个4字节的IP地址划分为两个部分用于标明网络端和标明具体的节点,分别对应两个ID(标识码):网络ID和主机ID,同一物理网络上的主机用相同的网络ID。
more
五类IP地址
A类
A类IP地址有1个字节的网络地址和3个字节的主机地址组成,网络地址的最高位(二进制)必须为"0"(第一段数字的范围[1-126]),地址的范围从1.0.0.1~126.255.255.254可用的A类网络有126个,每个网络可容纳16777214个主机
计算:
网段:首位为0
继续阅读 »
利用dockerfile安装monoDB
dockerfile的基础结构
继续阅读 »
ERROR 1698 (28000) 错误
错误详情:密码正确时用户依旧无法经如数据库中
shell
mysql -u root -p
Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
错误的起因是root的plugin设置为auth_socket,用密码登陆的plugin应该是mysql_native_password。
解决办法:
在/etc/mysql/mysql.conf.d/mysqld.cnf这个文件里找到[mysqld]在该配置项下添加 skip-grant-tables这个配置,之后可以使用mysql命
继续阅读 »