Nginx 反向代理与负载均衡详解

序言 Nginx的代理功能与负载均衡功能是最常被用到的,关于nginx的基本语法常识与配置已在Nginx 配置详解中有说明,这篇就开门见山,先描述一些关于代理功能的配置,再说明负载均衡详细。 Nginx 代理服务的配置说明 1、设置 404 页面...

HTTP X-Forwarded-For 介绍

X-Forwarded-For 是一个 HTTP 扩展头部。HTTP/1.1(RFC 2616)协议并没有对它的定义,它最开始是由 Squid 这个缓存代理软件引入,用来表示 HTTP 请求端真实 IP。如今它已经成为事实上的标准,被各大 HTTP 代理、负载均衡等转发服务广泛使...

Linux 查看端口占用情况

Linux 查看端口占用情况可以使用 lsof 和 netstat 命令。 lsof lsof(list open files)是一个列出当前系统打开文件的工具。 lsof 查看端口占用语法格式: lsof -i:端口号 实例 查看服务器 8000 端口的占用情况: # ...

C 语言中 void* 详解及应用

void 在英文中作为名词的解释为 "空虚、空间、空隙",而在 C 语言中,void 被翻译为"无类型",相应的void * 为"无类型指针"。 void 似乎只有"注释"和限制程序的作用,当然,这里的"注释"不是为我们人提供注释,而是为编译器提供一种所谓...

C语言实现泛型编程

泛型编程让你编写完全一般化并可重复使用的算法,其效率与针对某特定数据类型而设计的算法相同。在 C 语言中,可以通过一些手段实现这样的泛型编程。这里介绍一种方法——通过无类型指针 void*。 看下面的一个实现交换两个元素内容的...

HTTP 400 错误

400 是 HTTP 的状态码,主要有两种形式: 1、bad request 意思是 "错误的请求"; 2、invalid hostname 意思是 "不存在的域名"。 400 Bad Request 是由于明显的客户端错误(例如,格式错误的请求语法,太大的大小,无效的请求消息...

Linux 查看磁盘空间

Linux 查看磁盘空间可以使用 df 和 du 命令。 df df 以磁盘分区为单位查看文件系统,可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 例如,我们使用df -h命令来查看磁盘信息, -h 选项为根据大小适当显示: 显...

Fastjson 简明教程

Fastjson 简介 Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。 Fastjson 可以操作任何 Java 对象,即使是一些预先存在的没有源码的对象。 Fastjson 源码地址:http...

Java 中带包(创建及引用)的类的编译与调试

Java 源程序的编译大家都知道,也就是 cmd 中到源文件所在目录下 javac **.java 即可,当程序中有包声明还能简简单单的直接 javac **.java 吗?答案当然是 no,下面举个简单的例子证明一下直接 javac **.java 会怎么样。 如下:F:\ja...

全局变量报错:UnboundLocalError: local variable ‘l’ referenced before assignment

总结: 内部函数,不修改全局变量可以访问全局变量 内部函数,修改同名全局变量,则python会认为它是一个局部变量 在内部函数修改同名全局变量之前调用变量名称(如print sum),则引发Unbound-LocalError 在程序中设置的 sum...

Java 可变参数

在 Java 5 中提供了变长参数,允许在调用方法时传入不定长度的参数。变长参数是 Java 的一个语法糖,本质上还是基于数组的实现: void foo(String... args); void foo(String[] args); //方法签名 ([Ljava/lang/String;)V ...

2018 Web开发人员学习路线图

以下 Web 开发人员学习路线图是来自 Github developer-roadmap 项目,目前已经有繁体版翻译 developer-roadmap-chinese。 主要有三个方向,分别为前端开发、后端开发和运维。图片中不同颜色的意义: 黄色:推荐;灰色:尽可能学习...

js 生成随机数

js 可以使用 Math(算数) 对象来实现随机数的生成。 需要了解的 Math 对象方法 方法 描述 ceil(x) 对数进行上舍入,即向上取整。 floor(x) 对 x 进行下舍入,即向下取整。 round(x) ...

ubuntu 修改 DNS 的方法

修改文件 /etc/resolvconf/resolv.conf.d/base(这个文件默认为空),添加以下内容: nameserver 8.8.8.8 nameserver 8.8.4.4 :wq 保存退出 执行更新: resolvconf -u 通过 /etc/resolv.conf 查看 DNS 设置: 可看到多...

div 添加滚动条

div 添加滚动条只需要指定 overflow 属性为 auto 即可,以下实例设置了 div 水平滚动条: 实例 <div style="height:300px;width:70px;overflow:auto;background:#EEEEEE;"> 菜鸟教程 -- 学的不仅是技术,更是梦想!!! 代...

Eclipse 常用快捷键及使用技巧

做 java 开发的,经常会用 Eclipse 或者 MyEclise 集成开发环境,一些实用的 Eclipse 快捷键和使用技巧,可以在平常开发中节约出很多时间提高工作效率,下面我就结合自己开发中的使用和大家分享一下 Eclipse 中常用到的快捷键和技巧。 ...

MySQL 存储过程

MySQL 5.0 版本开始支持存储过程。 存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。 存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的...

对 onreadystatechange 属性的理解

在编写 Ajax 方法的时候,我们经常会写上类似于这样的代码: Ajax 代码: var xmlHttp; //创建一个XmlHttpRequeset对象 function createXMLHttpRequest(){ if(window.ActiveXObject){ xmlHttp = new ActiveXObject("M...

HTTP 与 HTTPS 的区别

基本概念 HTTP(HyperText Transfer Protocol:超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。 简单来说就是一种发布和接收 HTML 页面的方法,被用于在 Web 浏览器和网站服务器之间传递信息。 HTTP ...

计算机网络基础知识总结

1. 网络层次划分2. OSI七层网络模型3. IP地址4. 子网掩码及网络划分5. ARP/RARP协议6. 路由选择协议7. TCP/IP协议8. UDP协议9. DNS协议10. NAT协议11. DHCP协议12. HTTP协议13. 一个举例 计算机网络学习的核心内容就是网络协议的学习...