DNS查找, 域名, 和Cookies

我的网站域名是www.yining.org,有个页面(比如就这篇blog entry)带有一张图片,其src为:/img/camel.gif,那么它的URL就是:”http://www.yining.org/img/camel.gif”。如果这个页面设置了cookie(比如为了记录留言者的ID和网站地址等),cookie的作用域名自动为www.yining.org,那么每次访问该页的时候,因为URL的域名部是www.yining.org,那么浏览器都会带着cookie对该图片发起请求,即使一路上的web cache有www.yining.org/img/camel.gif的记录,也依然要到我的服务器(the origin server),而不是从中间的web cache返回 - 因为带cookie的请求都可能根据不同cookie的值而返回不同的response。

但是这对许多静态资源(图片, css, 和javascript)来说不是最理想的,因为不论cookie是什么,它们的response里都是同样的内容,对它们的请求没有必要每次都回到origin server。其次,因为不同web cache对带cookie的请求支持不同,即使有的cache能够缓存带cookie的response,但是1)不是大多数的cache都能做到这点,2)大多数的cache都缺省缓存不带cookie的response。因此最好的办法就是使用不同的域名把静态资源隔离开。虽然cookie的path属性也能做到这点,但是毕竟限制太多,不如使用专门的域名灵活。

所以应该尽量把所有静态的对象和动态页面的域名分开,更严谨地说,是把不需要读写客户端cookie的服务器资源与需要读写cookie的程序分开到不同的域名。比如我可以设置另一个域名static.yining.org,在引用该图片的<img>里的src属性改为”http://static.yining.org/img/camel.gif”,那么当访问首页的时候,浏览器就不会带着cookie(因为作用的域名现在不一样了),这样就能更好地利用web cache缓存和服务器的性能。我请教过一位曾经在NetAppliance(最大的web cache厂商)工作的同学,据他说根据经验,带和不带cookie之间的差别有可能是20%甚至更大。

(0)

相关推荐

  • DNS查找, 域名, 和Cookies

    我的网站域名是www.yining.org,有个页面(比如就这篇blog entry)带有一张图片,其src为:/img/camel.gif,那么它的URL就是:"http://www.yining.org/img/camel.gif".如果这个页面设置了cookie(比如为了记录留言者的ID和网站地址等),cookie的作用域名自动为www.yining.org,那么每次访问该页的时候,因为URL的域名部是www.yining.org,那么浏览器都会带着cookie对该图片发起请求,

  • 网页效率之DNS查找和并行下载

    雅虎的YSlow插件的规则之一:Rule 9 – Reduce DNS Lookups提到: Reducing the number of unique hostnames has the potential to reduce the amount of parallel downloading that takes place in the page. Avoiding DNS lookups cuts response times, but reducing parallel downlo

  • 在 Linux 终端中查找域名 IP 地址的命令(五种方法)

    本教程介绍了如何在 Linux 终端验证域名或计算机名的 IP 地址.本教程将允许你一次检查多个域.你可能已经使用过这些命令来验证信息.但是,我们将教你如何有效使用这些命令在 Linux 终端中识别多个域的 IP 地址信息. 可以使用以下 5 个命令来完成此操作. dig 命令:它是一个用于查询 DNS 名称服务器的灵活命令行工具. host 命令:它是用于执行 DNS 查询的简单程序. nslookup 命令:它用于查询互联网域名服务器. fping 命令:它用于向网络主机发送 ICMP EC

  • python批量处理多DNS多域名的nslookup解析实现

    利用EXCLE生成CSV文档,批量处理nslookup解析.并保存为CSV文档,方便进行查看: 输入文档格式: data\domain.csv 最终输出文档情况: data\nlookup.csv 代码: # coding=gbk import subprocess import csv def get_nslookup(domain, dns): res = subprocess.Popen("nslookup {0} {1}".format(domain, dns), stdin=

  • docker内网搭建dns使用域名访问替代ip:port的操作

    比如我内网有个jenkins,我如果要访问它我得牢牢记住它的ip和端口,一个服务我还能记住,多个的话我可能需要一个方便记忆的域名记录一些内网服务 第1步: 准备好docker环境 第2步:下载好镜像 docker pull andyshinn/dnsmasq:2.75 第3步:运行dnsmasq #后台启动 docker run -d -p 53:53/tcp -p 53:53/udp --cap-add=NET_ADMIN --name dns-server andyshinn/dnsmasq

  • win2003服务器搭建DNS服务器配置图解教程(比较详细)

    一.安装DNS 1.安装DNS:开始-控制面板-添加或删除程序-添加或删除windows组件,出现下面的窗口: 2.滚动条往下拖,用鼠标点击"网络服务",在单击"详细信息":出现下面的窗口: 3.勾选上"域名系统(DNS)",点击"确定" 4.然后回到"第一幅"图片,点击"下一步"开始安装: 二.配置DNS 1.选择开始-程序-管理工具-DNS,打开DNS服务器配置窗口:先新建正向查找区

  • DNS的工作原理图解说明

    有一定技术基础的互联网用户都知道DNS是做什么用的,但大多数人都不清楚DNS如何查找域名. Ven发现了一幅图片,这幅图片非常形象地描述了DNS查找下的连锁反应,对不了解DNS运行的人们可能会有些帮助. 下面这张图片来自Verisign,为了简化过程,图片忽略缓存的影响(正常情况下,查找结果经常在不同查找时段被缓存): 图片来源:Verisign Domain Name Industry Brief, June 2007 (PDF),最后一页 查找www.example.com的IP地址的连锁反

  • 用python实现域名资产监控的详细步骤

    应用场景 域名资产监控,通过输入一个主域名,找到该域名对应的ip地址所在的服务器的端口开闭情况.通过定期做这样的监控,有助于让自己知道自己的资产的整体暴露面情况. 所需要具备的前缀技能 python的简单使用 linux操作系统的简单使用 DNS的原理 工具 pycharm 专业版 xshell 用于部署脚本 步骤 通过域名得到对应的ip地址 首先,我们知道对于一个域名来说,可以设置很多类型的记录值,比如A记录.AAAA记录.SOA记录.TXT记录等等.安全领域常见的记录值和其含义对应关系如下:

  • 最新Windows Server 2012 搭建DNS服务器的详细步骤

    目录 一.添加DNS服务 二.配置DNS服务 三.测试 为了实现负载均衡,扩展服务器带宽,需要自己配置DNS服务器解析对应域名. 本文记录Windows Server 2012配置DNS服务的方法. 假设域名www.mydomain.com 已在阿里云作了解析,现在需要新增一个二级域名 stream.mydomain.com 做推流服务,需要使用自己配置的DNS服务做请求解析分发. Windows Server 配置 DNS服务器的步骤如下 一.添加DNS服务 打开服务器管理器,选择“添加角色和

  • WinServer2012搭建DNS服务器的方法步骤

    目录 DNS简介 为什么需要DNS服务 域名的结构 域名解析的过程 添加 DNS 服务器 1.添加 DNS服务器 角色 2.打开 DNS管理器 DNS管理工具 创建辅助DNS DNS简介 DNS,即Domain Name System(域名系统).在网络中计算机都是采用IP地址来相互通信的,但是IP地址不便于记忆.而人们更加倾向于使用具有代表意义的计算机名,即域名,比如www.baidu.com, www.taobao.com 等.DNS所做的工作就是将域名和IP地址之间做出相互解析的一个域名解

随机推荐