1. HTTP缓存设置

ExpiresActive On

#ExpiresDefault 设置全局缓存时间,将导致一些get请求不能连续执行
#ExpiresDefault "access plus 0 days" ExpiresByType application/* "access plus 30 days"
ExpiresByType image/css "access plus 30 days"
ExpiresByType text/css "access plus 30 days"

access 表示以客户端访问资源的时间为基准;

modification 表示以以资源最后修改的时间作为计算的基准;

2. 关闭Last-Modified

#关闭html|gif|jpg|png的Last-Modified
LoadModule headers_module modules/mod_headers.so <FilesMatch "\.(html|gif|jpg|png)">
Header unset Last-Modified
</FilesMatch>

3. 关闭Etag

FileETag None

Header unsets ETag

Last-Modified与ETag,都是用来标识一个资源是否更改过。

Last-Modified的值是资源的时间戳,如果按F5或者刷新按钮则If-Modified-Since头会带着时间戳发送到服务器,如果服务器上资源的最后修改时间<=这个时间,那么返回304 Not Modified,否则返回200 OK 以及新的资源;

ETag的值是通过资源的信息计算出来的一个字符串,如果按F5或者刷新按钮则If-None- Match头会带着这个值发送到服务器,服务器用这个值来和当前资源的值进行比对,如果相等,则返回304 Not Modified,否则返回200 OK 以及新的资源。

默认情况下Apache对静态资源会发送Last-Modified和ETage,但是由于ETage的计算会耗费服务器的CPU资源,所以选择关掉,只开启Last-Modified。

4. 开启Gzip压缩,设置vary头

LoadModule deflate_module modules/mod_deflate.so

#js,html,xml,css,普通文本开启Gzip压缩
AddOutputFilterByType DEFLATE application/x-javascript text/html text/plain text/xml text/css

Gzip会对文本资源进行压缩,一般能节省40%的大小,二进制内容不需要开启Gzip压缩,因为这些文件是已经压缩过的,如果再进行Gzip压缩反而会 增加其大小。静态资源一般都会在代理服务器上进行缓存,而有的浏览器支持Gzip,但是也有不支持Gzip的旧浏览器,所以需要设置Vary: Accept-Encoding 头,这个头告诉代理缓存服务器要对资源缓存两份,一份压缩过的,一份没有压缩过,然后根据浏览器发送的Accept-Encoding头来返回压缩或者不压缩的内容。

5. HTTPS、Websocket代理

httpd.conf

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_http_module modules/mod_proxy_http.so

LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so  #apache2.2.5以上,专用来做websocket代理

httpd-ssl.conf

SSLProxyEngine on
ProxyRequests off SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off ProxyPass /socket.io/ws/ wss://127.0.0.1:60002/socket.io/
ProxyPassReverse /socket.io/ws/ wss://127.0.0.1:60002/socket.io/ ProxyPass /socket.io/ https://127.0.0.1:60002/socket.io/
ProxyPassReverse /socket.io/ https://127.0.0.1:60002/socket.io/

Apache 相关配置的更多相关文章

  1. apache相关配置

    PHP配置 php.ini-development:开发时的php.ini配置 php.ini-production:项目运行时的php.ini配置 复制php.ini-development文件到C ...

  2. 1.3.1 apache的配置(下)

    (1)httpd.conf的配置 使用文本编辑工具(推荐使用Editplus.UltraEdit等工具),打开httpd.conf. 其中,行首为#的部分为注释部分,不会被apache服务器程序进行读 ...

  3. windows下 apache 二级域名相关配置

    小编今天给大家总结下 windows 下 apache的二级域名的相关配置 利用.htaccess将域名绑定到子目录 下面就利用本地127.0.0.1进行测试 我们这里以 www.jobs.com 为 ...

  4. apache的.htaccess文件作用和相关配置

    首先.htaccess什么? .htaccess是一个纯文本文件,它里面存放着Apache服务器配置相关的指令. 当我们使用apache部署一个网站代码准备部署到网上的时候,我们手中的apache的h ...

  5. Apache的三种工作模式及相关配置

    Apache的三种工作模式 作为老牌服务器,Apache仍在不断地发展,就目前来说,它一共有三种稳定的MPM(Multi-Processing Module,多进程处理模块).它们分别是 prefor ...

  6. 2016/07/07 apmserv5.2.6 Apache启动失败,请检查相关配置。MySQL5.1已启动。

    因为要用PHP做一个程序,在本机上配PHP环境,下了个APMServ5.26,安装很简单,不再多说,装好后,启动,提示错误,具体是:“Apache启动失败,请检查相关配置.√MySQL5.1已启动”, ...

  7. windows下 apache 二级域名相关配置 【转】

    转至: http://www.th7.cn/Program/php/201306/141305.shtml 今天给大家总结下 windows 下 apache的二级域名的相关配置 下面就利用本地127 ...

  8. Linux centosVMware apache 限定某个目录禁止解析php、限制user_agent、php相关配置

    一.限定某个目录禁止解析php 核心配置文件内容 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 先创建.编辑一个php 配置 vim /u ...

  9. zookeeper集群的搭建以及hadoop ha的相关配置

    1.环境 centos7 hadoop2.6.5 zookeeper3.4.9 jdk1.8 master作为active主机,data1作为standby备用机,三台机器均作为数据节点,yarn资源 ...

随机推荐

  1. 【索引】Android相关的

    Eclipse开发环境 JDK的下载和安装:http://www.cnblogs.com/duxiuxing/p/4771901.html Android SDK的下载和安装:http://www.c ...

  2. buptoj 1578

    题目链接:http://acm.bupt.edu.cn/onlinejudge/newoj/showProblem/show_problem.php?problem_id=1578 #include ...

  3. ASIHttpRequest或者SDWebImage给UIImageView加载图片的逻辑是什么样子的

    非常非常喜欢SDWebImage,就算后来AF也做了图片缓存,我也还是一直使用.图片缓存真的是一件令人头疼的事,但是SDWebImage封装了一切,你所需要的只是简单的set一个URL:1.设置一个展 ...

  4. eclipse运行内存不足解决办法

    选中所要执行的类,鼠标右键移动到Run As选项,接着选择Run Configurations...选项,在弹出的选项卡中选择Arguments,在VM arguments下面的输入框中输入-Xmx1 ...

  5. 利用MyEclipse配置S2SH三大框架篇-Spring配置

    1.配置完Struts2后,然后配置Spring 2.单击“MyEclipse->Project Capabilities->Add Spring Capabilities” 3.选择Sp ...

  6. geektool--一款很geek的工具

    2016/12/18 今天尝试一款很geek的工具 geektool 听名字就超级geek有木有 get it geektool website 从官网直接下载app,一键傻瓜式安装. use it ...

  7. 输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)

    群里看到这道题,用python做了做, def find(array): v_sum = greatest = 0 for a in array: v_sum += a v_sum = 0 if v_ ...

  8. python-用户登录小程序

    算是第一篇博客吧~哈哈哈 虽然说是为了完成作业,不过以后估计会常来分享.首先说一下下边这个程序的基本功能.毕竟是第一次写python程序还是有点小激动和满满的成就感的,下边这个程序: 1.输入不存在的 ...

  9. PKU 1511 Invitation Cards (SPFA+邻接表)

    题目链接:点击打开链接 题目需要求从原点到所有点的最短距离之和和所有点到原点的最短距离之和,在求所有点到原点最短距离的时候用到了一个技巧:即把图反向,求原点到所有其他点的最短距离,这样用一次SPFA就 ...

  10. 基于SQL的日志分析工具myselect

    基本介绍 程序开发者常常要分析程序日志,包括自己打印的日志及使用的其他软件打印的日志,如php,nginx日志等,linux环境下分析日志有一些内置命令能够使用,如grep,sort,uniq,awk ...