我怎样才能获得Apache上的静态内容{被浏览器缓存}而不是{检查新鲜度{每次请求}}?
我正在Apache webserver上托管的网站上工作.最近,我正在使用标题(针对不同类型的内容的Content-Type)进行测试,并看到了很多对图像的条件请求.例:
200 /index.php?page=1234&action=list
304 /favicon.ico
304 /img/logo.png
304 /img/arrow.png
(etc.)
Run Code Online (Sandbox Code Playgroud)
虽然图像文件是静态内容并且由浏览器缓存,但每次用户打开链接到它们的页面时,它们都是有条件请求的,它们发送"304 Not Modified".这很好(传输的数据较少),但这意味着每次页面加载会产生20多个请求(由于所有这些往返行程导致页面加载时间更长,即使启用了Keep-Alive和流水线操作).
如何告诉浏览器保留现有文件而不检查更新版本?
编辑:mod_expires方法工作,即使使用favicon.
我想在家里用python 3.0进行一些实验.我让python 3.0工作,我玩了一些脚本,我觉得尝试使用它制作一个小型的Web项目会很有趣.
事实证明,当谷歌搜索时,由于某些原因,mod_python将无法支持python 3.0.
我发现的唯一另一种选择是mod_wsgi.
在mod_wsgi项目的主页上,它说,如果你想使用python 3.0,你必须从subversion存储库获取最新版本.我想知道,如果有一个预先建立的Windows二进制文件可用吗?
如果没有这样的二进制文件,那么我会感谢有关使用VC++ 2008构建它的任何资源.或者甚至可能是关于使用VC++ 2008构建apache和它的模块的一般资源.谢谢.
哦,我正在使用最新的Apache 2.2版本.
编辑:这是一个问题,如果我将使用我自己的mod_wsgi构建官方apache构建(我在apache上使用了depends.exe,似乎它不是用VC++ 2008构建的)?
或者,更清楚的是,如何格式化文本块(在我的情况下,包含在工具提示中),使得文本的某些部分来自绑定值.
在普通的C#中我会使用:
_toolTip.Text = string.Format("{1:#0}% up, {2:#0}% down",
Environment.NewLine, percentageOne, percentage2);
Run Code Online (Sandbox Code Playgroud)
但是,Text属性的WPF XAML标记似乎只能包含一个绑定.花括号给了我很大的希望,但这是不可能的:
<Element>
<Element.Tooltip>
<!-- This won't compile -->
<TextBlock Text="{Binding Path=PercentageOne}% up, {Binding Path=PercentageTwo}% down"/>
</Element.Tooltip>
</Element>
Run Code Online (Sandbox Code Playgroud)
我读到该Run.Text属性不是依赖属性,因此不能绑定.
有没有办法在XAML中执行此格式化?
我通常很高兴Opera为实现CSS真正正确的一切而感到骄傲,似乎用以下行实现自定义游标似乎不起作用
cursor:url("../pics/merge.gif");
Run Code Online (Sandbox Code Playgroud)
该URL是正确的,因为它适用于常规背景图像属性.
适用于其他浏览器,但不适用于Opera.
有任何想法吗?
使用这组命令,{}和\是什么?人物为?
find . -name '*.clj' -exec grep -r resources {} \;
Run Code Online (Sandbox Code Playgroud) 在作为身份验证的行为,现在是宁静的身份验证中,第一个用户夹具是"Quentin".
只是好奇是否有人知道该名称的来源?昆汀·塔伦蒂诺?有人的狗还是孩子?
我非常频繁地收到此错误,但在生产环境中的应用程序中的2页上并不一致.我只是对下面的错误进行了一些屏幕截图.
事务(进程ID XX)在锁定时死锁 与另一个进程通信缓冲资源并被选为死锁牺牲品.重新运行该交易.
该方法应该采取什么方法来解决这个错误.数据库服务器是SQL Server 2005.
所以我的查询在~0.5秒时相对较快,但是当我添加一个ORDER BY子句时,它会跳到近30秒.
原始查询:(返回约0.5秒)
SELECT table1.*,table2.* FROM table1 LEFT OUTER JOIN table2 ON table1.column2=table2.column3 WHERE table1.column1='value' LIMIT 4
Run Code Online (Sandbox Code Playgroud)
使用ORDER BY进行查询:(返回约30秒)
SELECT table1.*,table2.* FROM table1 LEFT OUTER JOIN table2 ON table1.column2=table2.column3 WHERE table1.column1='value' ORDER BY table1.column4 DESC LIMIT 4
Run Code Online (Sandbox Code Playgroud)
注意我添加了一个索引到ORDER BY正在使用的列,它没有任何改变.
关于什么会导致这个的任何想法?
我在Python中发现的最大烦恼之一是re模块无法在匹配对象中明确地保存其状态而无法保存其状态.通常,需要解析行,如果它们符合某个正则表达式,则从相同的正则表达式中取出它们的值.我想写这样的代码:
if re.match('foo (\w+) bar (\d+)', line):
# do stuff with .group(1) and .group(2)
elif re.match('baz whoo_(\d+)', line):
# do stuff with .group(1)
# etc.
Run Code Online (Sandbox Code Playgroud)
但遗憾的是,无法找到前一次调用的匹配对象re.match,所以这样写的如下:
m = re.match('foo (\w+) bar (\d+)', line)
if m:
# do stuff with m.group(1) and m.group(2)
else:
m = re.match('baz whoo_(\d+)', line)
if m:
# do stuff with m.group(1)
Run Code Online (Sandbox Code Playgroud)
随着elifs 的列表变长,这样不太方便并且变得非常笨拙.
一个hackish解决方案是将re.match和re.search包装在我自己的对象中,以保持状态.有没有人用过这个?您是否了解半标准实现(在大型框架或其他内容中)?
您还可以推荐哪些其他解决方法?或许,我只是在滥用模块,能够以更清洁的方式满足我的需求吗?
提前致谢
我有一个简单的脚本,用于启动另一个程序.这个其他程序有时会产生一个SIGSEGV,这会破坏我的输出.因此,我添加了几行,这些行应该暂时重定向stderr到/dev/null,以便SIGSEGV忽略它.以下是我的代码草稿:
exec 2> /dev/null
progname >& ./tmp/run.txt && run_status='OK'
exec 2>1
Run Code Online (Sandbox Code Playgroud)
问题是最后一行不能满足我的要求.第一行显然有效,并重定向stderr.最后一行应该返回stderr到之前的位置(我只假设它是相同的stdout).
任何帮助都会得到满足!
apache ×2
python ×2
.net ×1
asp.net ×1
bash ×1
binding ×1
command ×1
css ×1
deadlock ×1
find ×1
fixtures ×1
formatting ×1
indexing ×1
mod-expires ×1
mod-wsgi ×1
mysql ×1
opera ×1
performance ×1
redirect ×1
regex ×1
sql-order-by ×1
stderr ×1
stdin ×1
transactions ×1
unix ×1
visual-c++ ×1
wpf ×1