我怎样才能获得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.
在一个关于CSS的答案中,一位用户说:
互联网浏览器
已经被认为有4096个CSS的限制规则,每个文件.参考此外,它可以嵌入单个文档中的样式表数量限制.我认为是20岁.
我正在尝试从POP3获取邮件(我正在使用POP3邮件服务器,我正在尝试获取邮件内容并存储到我的项目的数据库表中.),但我找不到任何PHP脚本,所有仅适用于IMAP.
你知道如何从POP3服务器获取邮件吗?
谢谢.
我是一名新手Linux用户,他使用Windows操作系统10年,并使用Microsoft语言进行开发.
我希望在Linux世界中获得良好的体验并在其上进行开发.
首先,我想学习如何使用这个新操作系统,然后如何开始开发它,我对Web应用程序感兴趣,特别是使用Java/PHP,因为我有两方面的经验,这将是一个良好的开端.
其次,我想学习如何发展它.
是否有任何视频教程可以给我一个良好的开始推动力?
任何推荐的书籍或参考?
关于使用EXPLAIN优化查询的MySQL 5.4文档说明了这些额外的评论:
- 使用索引
仅使用索引树中的信息从表中检索列信息,而不必另外寻找读取实际行.当查询仅使用属于单个索引的列时,可以使用此策略.
[...]
- 使用索引条件
通过访问索引元组并首先测试它们以确定是否读取完整的表行来读取表.以这种方式,索引信息用于推迟("下推")读取全表行,除非有必要.
我错过了什么,或者这两个意思是相同的事情(即"没有阅读行,索引就够了")?
SMTP服务器响应:530 5.7.0必须首先发出STARTTLS命令
当我在php脚本文件中使用mail()函数时,我收到此错误消息...
我使用的是使用STARTTLS的gmail SMTP服务器和gmail,它是安全的SSL以防止垃圾邮件,我已经在我的contact.php文件中使用这些命令
ini_set("SMTP","smtp.gmail.com");
ini_set("sendmail_from","<email-address>@gmail.com>");
Run Code Online (Sandbox Code Playgroud)
那么我可以使用什么命令启用STARTTLS或在php,ini文件中配置?
我想从用户当前位置(纬度,经度)获取邮政编码,我曾使用MKReverse Geocoder委托方法,但有时我无法获得基于纬度和经度(有效值)的邮政编码信息.MKReverseGeocoder还有其他选择吗?ZipCode数据库特定于国家,这就是我不想使用它们的原因.还有其他想法或线索吗?
谢谢
在不同的操作系统上,Internet Explorer 8的行为(HTML,CSS,Javascript,...)是否存在显着差异?
换句话说,一个网页在IE8 + XP,IE8 + Vista和IE8 + Win7上的工作方式是否相同,还是有一些显着的差异?
(我知道安装的插件和字体会产生影响,但目前我的范围有点偏差;假设兼容模式X-UA-Compatible: IE=8或者edge)
虽然IEBlog包含非常有用的信息,但我没有在那里找到这些数据 - 所以我假设应该没有任何区别.然而,搜索已经出现了这个(含糊的)问题:"XP上的IE8:看起来很棒!Vista上的IE8看起来很糟糕".在此期间必须检查VM中的IE8 + {XP,V,7}.
MySQL 5中是否有一种方法只显示当前用户的进程(查询)?
用户具有该PROCESS权限,因此SHOW PROCESSLIST显示所有用户的正在运行的进程.根据文档,SHOW PROCESSLIST不允许任何类型的WHERE语法,也没有设法使其成为子查询.
当然,我可以简单地发送查询,例如在PHP脚本中,并在循环中查看结果,丢弃不是我的所有内容,但它似乎效率很低.更改用户权限是不可行的.
还有其他方法吗?提前致谢.
我有PHP 5代码访问MySQL 5服务器上的MyISAM表.查询如下所示:
SELECT CONCAT(fName1,' ',mName2,' ',lName3) AS userName
FROM users
WHERE level > 10
Run Code Online (Sandbox Code Playgroud)
当没有MNAME填写,我期待像"FNAME LNAME"输出,但我发现了""(空字符串),而不是(返回的行数是正确的).我哪里弄错了?
PHP代码:
<?php
$result = mysql_query($the_above_query);
while ($result_row = mysql_fetch_assoc($result)) {
// do stuff with the name
// except I'm getting empty strings in $result_row['userName']
}
Run Code Online (Sandbox Code Playgroud)
表结构的相关部分:
CREATE TABLE users {
/* -snip- */
`fName1` varchar(50) default NULL,
`mName2` varchar(50) default NULL,
`lName3` varchar(50) default NULL,
`level` int(11) default 0,
/* -snip- */
} ENGINE=MyISAM DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)
(也就是说,这种方式(MySQL中的列连接)是一个好主意,或者我应该将列提取到PHP并将它们加入那里?)
事实证明我得到了一个NULL; PHP同样处理返回的NULL和空字符串(""),您必须与===进行比较才能看到差异.