William A

最新文章

Cookie 和 Session

HTTP 协议是无状态的,用户的每一次请求都是独立的。有时候我们需要知道哪些请求是跟用户相关的,例如,购物车的商品属于哪个用户。web 规范给出的解决方案是经典的 cookie 和 session。cookie 是一种客户端机制,将用户的数据保存到客户端;session 是一种服务端机制,将数据以类似于散列表的结构来保存信息,这是用 PHP 内置函数生成的 session 数据格式 …

Data URLs

语法 Data URLs,即前缀为data:协议的 URL,其允许内容创建者向文档中嵌入小文件。 Data URLs 由四个部分组成:前缀(data:)、指示数据类型的 MIME 类型、如果非文本则为可选的base64标记、数据本身: data:[<mediatype>][;base64],<data> mediatype是 MIME 类型的字符串,例如image/png表 …

DNS 原理

整理自DNS 原理入门 DNS(Domain Name System)的作用是根据域名查询对应的 IP 地址,DNS 协议是应用层协议。 查询过程 DNS 的查询过程非常复杂,分成多个步骤。可以用工具dig显示整个查询过程。 $ dig github.com ; <<>> DiG 9.8.3-P1 <<>> github.com ;; global …

Docker 搭建 LNMP 环境

下载镜像 $ docker pull nginx $ docker pull mysql:5.7 $ docker pull php:7.1-fpm 启动容器&配置&测试 MySQL 启动容器,注意要添加 MYSQL_ROOT_PASSWORD 环境变量,用来设置 root 密码 $ docker run -d --name mysql -p 3306:3306 -e …

error 类型 Error() 方法的无限递归

在 Go 语言中使用 error 值来表示错误状态。事实上,error 类型是内置的接口,定义如下: type error interface { Error() string } 函数一般会返回一个 error 类型的值,因此调用函数时应该通过测试 error 是否等于 nil 来处理错误,如: i, err := strconv.Atoi("42") if err != nil …