《http权威指南》读书笔记18
概述
最近对http很感兴趣,于是开始看《http权威指南》。别人都说这本书有点老了,而且内容太多。我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做,还告诉你为什么这么做。于是我把学到的知识点记录下来,供以后开发时参考,相信对其他人也有用。
重定向和负载均衡
1.http应用程序总是要做下列3件事:
- 可靠地执行http事务;
- 最小化时延;
- 节约网络带宽。
2.http重定向的过程:
- Alice向www.joes-hardware.com发送一条请求。
- 服务器没有回送带有http状态码200的web页面主体,而是回送了一个带有状态码302的重定向报文。
- 浏览器会用重定向URL重新发送请求,这次会发送给主机161.58.228.45。(另一个客户端可能会被重定向到另一台服务器上去,比如Bob的请求可能会被重定向到161.58.228.46)
3.http重定向有以下缺点:
- 需要原始服务器进行大量处理来判断要重定向到哪台服务器上去。
- 增加了用户时延,因为访问页面时要进行两次往返。
- 如果重定向服务器出故障,站点就会瘫痪。
4.DNS重定向:每次客户端访问网站时,都必须将域名解析为IP地址,DNS解析程序可能是客户端自己的操作系统,可能是客户端网络中的一台DNS服务器,或者是一台远距离的DNS服务器。
5.DNS轮转:为了使web服务器集群平衡负载,DNS主机名解析经常用到DNS轮转。大多数DNS客户端只会使用多地址集中的第一个地址,为了均衡负载,大多数DNS服务器都会在每次完成查询之后对地址进行轮转。
6.由于单个客户端的缓存的存在,DNS轮转通常都不会平衡单个客户端的负载——一个客户端通常会在很长时间内连接到一台服务器上。
7.除了DNS轮转,还有其它DNS的重定向算法:
- 负载均衡算法。(每次都将负载最轻的web服务器放在列表的最前面)
- 邻接路由算法。(DNS服务器会尝试将用户导向最近的web服务器)
- 故障屏蔽算法。(DNS服务器会绕过出现服务终端或其他故障的服务器。)
8.怎么重定向到某个代理上去呢:
- 显式的浏览器配置。(在浏览器中配置代理,缺点是如果代理崩了,用户就会遇到连接方面的问题,而且每次修改代理都需要修改浏览器配置)
- 代理自动配置。(使用PAC文件,里面有每个URL所关联的代理,这个PAC文件不是配置而是动态获取的)
- 透明拦截。
9.缓存代理服务器重定向:
- WCCP重定向
- ICP(因特网缓存协议)
- CARP(缓存阵列路由协议)
- HTCP(超文本缓存协议)
《http权威指南》读书笔记18的更多相关文章
- HTTP权威指南读书笔记
HTTP权威指南笔记 读书有两种境界,第一种境界是将书读薄,另一种是读厚.本篇文章就是HTTP权威指南的读书笔记,算是读书的第一重境界,将厚书读薄.文章对HTTP的一些关键概念做了比较详细的概述,通读 ...
- css权威指南读书笔记
今天翻手机,翻到了许久之前看css权威指南时的笔记,遂移到博客中来. 1.属性选择器p.one class名为one的p元素p[class][name] 含有class和name属性的p元素p[cla ...
- 经典的性能优化最佳实践 web性能权威指南 读书笔记
web性能权威指南 page 203 经典的性能优化最佳实践 无论什么网络,也不管所用网络协议是什么版本,所有应用都应该致力于消除或减 少不必要的网络延迟,将需要传输的数据压缩至最少.这两条标准是经典 ...
- css权威指南读书笔记-第10章浮动和定位
这一章看了之后真是豁然开朗,之前虽然写了圣杯布局和双飞翼布局,有些地方也是模糊的,现在打算总结之后再写一遍. 以下都是从<css权威指南>中摘抄的我认为很有用的说明. 浮动元素 一个元素浮 ...
- Java性能优化权威指南-读书笔记(一)-操作系统性能监控工具
一:CPU 1. 用户态CPU是指执行应用程序代码的时间占总CPU时间的百分比. 系统态CPU是指应用执行操作系统调用的时间占总CPU时间的百分比.系统态CPU高意味着共享资源有竞争或者I/O设备之间 ...
- Hadoop权威指南读书笔记
本书中提到的Hadoop项目简述 Common:一组分布式文件系统和通用I/O的组件与接口(序列化.javaRPC和持久化数据结构). Avro:一种支持高效.跨语言的RPC以及永久存储数据的序列化系 ...
- JS权威指南读书笔记(七)
第十七章 事件处理 1 客户端JS程序采用了异步事件驱动编程模型. 2 关于事件的重要定义 a 事件类型(event type) b 事件目标(event target) target ...
- JS权威指南读书笔记(六)
第十五章 脚本化文档 1 文档对象模型(DOM)是表示和操作HTML和XML文档内容的基础API. 2 文档节点的部分层次结构 Text和CDATASection都是characterData的子 ...
- JS权威指南读书笔记(二)
第四章 表达式和运算符 1 new调用构造函数的过程 a 创建一个新的空对象 b 设置空对象的_proto_指向构造函数原型prototype c 将这个新对象当做this的值 ...
- JS权威指南读书笔记(一)
第一章 JavaScript概述 1 JS是一门高端的.动态的.弱类型的编程语言,非常适合面向对象和函数式的编程风格. 第二章 词法结构 1 JS程序是用Unicode字符集编写的. 2 JS是区 ...
随机推荐
- dskinlite(uieasy mfc界面库)使用记录2:绘制动态元素(按钮控件绘制元素动态控制,改变图片和文字)
效果图:这4个分别是按钮按下后4种状态的效果 第88行是显示默认的按钮文字,没有id,SetWindowText改的就是它了 第87行是左边的图片,id是ico,可以通过程序控制 第89行是蓝色的文字 ...
- 使用tcpreply对DPDK进行压力测试(一台主机,2张网卡压测)
使用tcpreply对DPDK进行压力测试 过往风萤 关注 2018.05.18 14:35* 字数 273 阅读 2评论 0喜欢 0 小公司没有testcenter之类的打流工具,并且内网流量比较小 ...
- Lonsdor K518ISE programs 2005 Ford Focus key in two minutes
A quick demonstration of Lonsdor K518ISE programming key for 2005 Ford Focus in two minutes. And for ...
- node.js生成二维码
var http = require('http'); var qs = require('querystring'); var qrImg = require('qr-image'); var se ...
- 实际操作--create DB link
我可以查看6D1数据库中的表了:我在哪个表里创建database说明我想访问database中的表~ SELECT * FROM TEST001MX@TESTLINK1 databa ...
- ArrayAdapter构造方法中的textViewResourseId
simple_list_item_1:每个列表项都是一个普通的textView simple_list_item_2:每个列表项都是一个普通的textView(字体略大) simple_list_it ...
- eclipse中修改maven本地仓库方式
1.安装maven,教程可参考:https://jingyan.baidu.com/article/4f7d5712a1306c1a21192746.html 2.安装成功后,可以打开eclipse新 ...
- 关于get和post请求的区别
1.标准答案 GET在浏览器回退时是无害的,而POST会再次提交请求. GET产生的URL地址可以被Bookmark,而POST不可以. GET请求会被浏览器主动cache,而POST不会,除非手动设 ...
- nginx常用服务配置
一.nginx.conf的配置方式,创建新vhost user nginx; worker_processes ; worker_cpu_affinity ; worker_rlimit_nofile ...
- 初步了解学习flask轻量级框架,
关于flask我有话说 flask作为一个轻量级框架,它里面有好多扩展包需要下载,比较麻烦,而且有的时候flask需要在虚拟环境下运行,但是他的优点还是有滴 ,只要是用过Django的人,都会觉得fl ...