首页
学习
活动
专区
圈层
工具
发布

反向代理的攻击面 (下)

说起IE,它还是一如既往的奇特。如果主机头为本地地址,那么它不会对路径做任何处理。 滥用标头修改功能 对于反向代理服务器来说,增添,删除和修改后端请求中的标头是一项基本功能。...假如我们使用Nginx作为代理,Tomcat作为后端。Tomcat默认设置了X-Frame-Options: deny标头,所以浏览器无法将其嵌入frame中。...由于某些原因,Tomcat web应用的一个组件(/iframe_safe/)必须通过iframe访问,因此Nginx配置中删除了X-Frame-Options标头。...Cache-control标头滥用是允许反向代理储存响应。 大量的web服务器,应用服务器和框架自动且正确地设置Cache-control标头。...Nginx发现请求中存在/image,于是直接转发该请求值Tomcat,然后缓存响应(Tomcat->Nginx,此时Cache-Control标头无效)。

1.9K40

WEB缓存探究

-- 示意到期时间 HTTP1.0 & 1.1 --> 但是使用meta标签设置的参数优先级低于http请求中声明的,如果你同时设置了http头,那么就没有必要加上meta标签了。...Cache-Control Cache-Control 标头是在 HTTP/1.1 规范中定义的,取代了之前用来定义响应缓存策略的标头例如 Expires。...禁止浏览器以及所有中间缓存存储任何版本的返回响应,每次请求必须重新下载 Expires 它代表一个缓存过期的绝对时间,在HTTP/1.0中实现,在HTTP/1.1中优先级低于Cache-Control...HTTP 1.0代理,那么你可以无视Expires Cache-Control: no-store, must-revalidate 如果服务器自动包含有效的Date标头,则理论上也可以省略Cache-Control...允许浏览器和中间缓存(如CDN)缓存CSS,并将CSS设置为1年后到期,超长的缓存时间可以让用户避免每次都从服务端获取响应。

84640
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何在Ubuntu 16.04上使用Nginx的头模块实现浏览器缓存

    为此,必须引入告知浏览器行为方式的新HTTP响应标头。 这就是Nginx的标题模块发挥作用的地方。此模块可用于向响应添加任意任意标头,但其主要作用是正确设置缓存标头。...使用Web浏览器时,如果浏览器想要再次请求相同的文件(例如,刷新页面时),ETag则会将值存储并发送回带有If-None-Match请求标头的服务器。 我们可以使用以下命令在命令行上模拟它。...如果未设置标头,浏览器将始终从服务器请求文件,期望200 OK或304 Not Modified响应。 我们可以使用头模块来设置这些HTTP头。...test.js和test.css的结果应该是相似的,因为JavaScript和样式表文件都是用缓存头设置的。...它还可以在搜索引擎上产生更好的结果,将速度测试纳入其结果。设置浏览器缓存标头是Google的PageSpeed测试工具的主要建议之一。

    1.7K30

    如何在CentOS 7上使用Nginx的头模块实现浏览器缓存

    为此,必须引入告知浏览器行为方式的新HTTP响应标头。 这就是Nginx的标题模块发挥作用的地方。此模块可用于向响应添加任意任意标头,但其主要作用是正确设置缓存标头。...使用Web浏览器时,如果浏览器想要再次请求相同的文件(例如,刷新页面时),则会将ETag值存储并发送回带有If-None-Match请求标头的服务器。 我们可以使用以下命令在命令行上模拟它。...如果未设置标头,浏览器将始终从服务器请求文件,期望200 OK或304 Not Modified响应。 我们可以使用头模块来设置这些HTTP头。...最后一项设置是~image/,这是一个正则表达式会匹配所有在他们的MIME类型名称包含image/的文件类型(如image/jpg和image/png)。...test.js和test.css还有JavaScript和设置缓存头的样式表文件的结果应该是都相似的。 这意味着缓存控制标头已正确配置,您的网站将受益于性能提升和由于浏览器缓存导致的服务器请求减少。

    1.8K00

    HTTP缓存(Cache-Control、Expires 、ETag)

    js和css要设置久一点例如10年,即一直保留有缓存。 那么js和css更新了怎么办?...好在每个浏览器都自带了 HTTP 缓存实现功能。您只需要确保每个服务器响应都提供正确的 HTTP 标头指令,以指示浏览器何时可以缓存响应以及可以缓存多久。...Expires Expires 是以前用来控制缓存的http头,Cache-Control是新版的API。 现在首选 Cache-Control。...响应头设置方式: Expires: Wed, 21 Oct 2015 07:28:00 GMT Expires 响应头包含日期/时间, 即在此时候之后,响应过期。...设置的ETage响应头为这个JS文件的MD5值 查看响应: ? 那么:下一次请求这个JS的时候,浏览器会把上一次响应的那个ETage的值放到If-None-Match里面,如图: ?

    5.6K50

    nginx应用总结(1)--基础认识和应用配置

    ;模块超多,基本想到的都可以找到;少bug,nginx的bug相对较多;超稳定;apache有自带php解析功能(apache环境部署好后,不需要再启动php服务,apache自动解析php文件,机器上只要有...,合理的配置expires可以减少很多服务器的请求; 2)对于站点中不经常修改的静态内容(如图片,JS,CSS),可以在服务器中设置expires过期时间,控制浏览器缓存,达到有效减小带宽流量,降低服务器压力的目的...要配置expires,可以在http段中或者server段中或者location段中加入; 如下:控制图片等过期时间为30天,如果图片文件不怎么更新,过期可以设大一点;如果频繁更新,则可以设置得小一点,...对于不支持http1.1的浏览器,还是需要expires来控制。所以最好能指定两个响应头。但HTTP规范规定max-age指令将重写expires头。...如何检测nginx中设置的expires网页过期时间是否生效?

    3.4K61

    day07_Tomcat服务器与http学习笔记

    Internet上供外界访问的Web资源分为:       静态web资源(如html、css、js页面):指web页面中供人们浏览的数据始终是不变。       ...动态web资源(如JSP、PHP、ASP):指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。     ...信息存放在服务器端,客户机通过浏览器(如IE、Chrome)就可以查找网络中的各个Web服务器上的信息。 与Web相关的一个概念是WWW(World Wide Web)。...Tomcat官方站点http://tomcat.apache.org         tar.gz文件是Linux操作系统下的安装版本。         ...可以在浏览器中进行设置。         Host:初始URL中的主机和端口。          Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面。

    83010

    Tomact及Http 部分总结.

    前言: 刚好今天回来的很早, 总结下 Tomcat及Http的基础知识. ---- 1, Tomcat web相关概念         web:网页的意思,网页资源包括服务器上的所有资源....静态的web技术:html css js 等                 动态的web技术:servlet jsp等             在Java中,动态web资源开发技术统称为Javaweb...环境变量:                 若是安装版,会在环境变量上出现 CATALINA_HOME:要启动的tomcat的路径 关闭:             1.点x             2...            |         |--- web.xml(文件) :项目的核心配置文件             |---- html,css,js......             访问路径:http://ip:port/项目名/执行的资源         方式3:在*\apache-tomcat

    72980

    使用ETag和Expires调优web服务器性能

    Nginx中针配置Etag和Expires,有效缓存纯静态如css/js/pic/页面/流媒体等文件。...A、Expires A.1、Apache Etag 使用Apache的mod_expires 模块来设置,这包括控制应答时的Expires头内容和Cache-Control头的max-age指令 ExpiresActive...A.2、Lighttpd Expires 和Apache一样Lighttpd设置expire也要先查看是否支持了mod_expire模块, 下面的设置是让URI中所有images目录下的文件1小时后过期...其他请参考Nginx中Expires B.1、Apache中Etag设置 在Apache中设置Etag的支持比较简单,只用在含有静态文件的目录中建立一个文件.htaccess, 里面加入: FileETag...但需要注意关闭session,防止http response时http header包含session id标识; 3.1、Expires 如expires.php 以上信息表示该文件自请求后24小时后过期

    1.1K20

    HTTP的缓存机制是什么?

    HTTP 缓存机制的基本原理是将 Web 资源(如 HTML、CSS、JavaScript、图像等)保存在客户端或中间代理服务器上,以便在后续请求中直接使用该缓存副本,而不必重新获取资源。...缓存标头:HTTP 协议提供了一些特定的缓存标头,如 ETag(实体标签)和 Last-Modified(最后修改时间),用于识别和比较资源的不同版本。...Expires 标头:Expires 标头也用于指定缓存副本的有效时间,但它使用的是绝对时间而不是相对时间。...4.缓存策略: 强缓存:通过设置合适的缓存控制标头(如 Cache-Control 和 Expires),服务器可以要求客户端或代理服务器始终使用缓存副本,而不需要进行验证。...开发者应该合理利用缓存机制,并根据资源的特性和业务需求来设置适当的缓存策略和控制标头,以实现更好的用户体验和网络效率。

    59420

    【详解】TomcatSSI的配置

    它允许开发者在HTML页面中嵌入简单的命令,以实现如包含文件、设置变量、执行CGI脚本等操作。...Apache Tomcat 作为一个流行的Java应用服务器,虽然主要服务于JSP和Servlet,但也支持SSI功能。本文将详细介绍如何在Tomcat中启用和配置SSI。...对于复杂的动态内容,建议使用更强大的技术,如 JSP、PHP 或者现代的前端框架。通过以上步骤,你就可以在 Tomcat 中成功配置并使用 SSI 来管理你的静态网站。...在Apache Tomcat中启用和配置SSI需要一些特定的设置。下面是一个详细的步骤说明,包括如何在​​web.xml​​中配置SSI支持。1....expires: 设置SSI输出的缓存时间(以秒为单位)。默认值为​​666​​秒。isVirtualWebappRelative: 指定SSI文件路径是否相对于虚拟Web应用。

    11400

    Ajax开篇准备

    服务器"Web 服务器软件:Apache、IIS、Tomcat、Nginx、NodeJS 等等Web 服务器搭建WAMPServer 软件W:Windows 操作系统A:Apache 世界排名第一的服务器软件...当中右下角当中点击 WAMPServer 然后找到 Apache 展开的菜单列表当中就有如下的配置文件:在 httpd.conf 文件中搜索 Listen,改为你想要的数字即可重启 WAMP图片P(pai...,接收到响应时,会根据响应报文头的内容进行一些具体的操作,在 php 中,我们能够使用 header 来设置这些内容C / S 架构 (Client/Server)对于 C/S 架构, 最为常见的例子就是网络游戏...: 性能较低 / 兼容问题HTTP 请求头User-Agent:浏览器的具体类型,如:User-Agent:Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20100101...进行对比,然后就知道这个文件有没有改变了Allow:服务器支持哪些请求方法(如 GET、POST 等)Location:表示客户应当到哪里去提取文档,用于将接收端定位到资源的位置(URL)上。

    26210

    网页性能优化浅谈与实践

    通常 cache-control 被认为是一种比 expires(到期) 更现代,更灵活的方法,但是两个标头可以同时使用。 Q: 如何进行缓存?...答: 通过标识资源或资源类型(例如图像或CSS文件),然后使用所需的缓存选项指定资源的标头,来启用缓存。...Pragma的值为no-cache时,表示禁用缓存, Expires的值是一个GMT时间,表示该缓存的有效时间。 Tips : expires 标头只是设置内容应在将来的时间。...此后对内容的请求必须返回到原始服务器。使用更新且更灵活的高速缓存控制标头expires标头通常用作备用。 Tips : Pragma 是旧产物,已经逐步抛弃,有些网站为了向下兼容还保留了这两个字段。...即优先级从高到低是 Pragma -> Cache-Control -> Expires; 基础示例: # Apache 的 .htaccess 配置缓存控制头和到期资源 <filesMatch

    73720

    如何在CentOS 7上配置Apache内容缓存

    在验证期间为资源设置缓存锁定会告知Apache当前正在刷新资源。在此期间,可以使用指示其状态的警告标头来提供过时资源。我们将在/tmp文件夹中设置缓存锁定目录。我们将允许锁定最多5秒钟才能被视为有效。...这些示例直接来自Apache的文档,因此它们应该适用于我们的目的。 我们还将告诉Apache忽略Set-Cookie标头而不将它们存储在缓存中。...我们设置的另一个指令是CacheDefaultExpire,如果内容上既没有设置Expires头文件也没有设置Last-Modified头文件,我们可以设置一个到期时间(以秒为单位)。...在上面的配置中,我们配置了HTTP缓存,它依赖于HTTP标头。...但是,我们所服务的内容实际上并不具备进行智能缓存决策所需的Expires或Cache-Control标头。要设置这些标头,我们需要利用更多的模块。

    2.3K00

    如何在Ubuntu 14.04上配置Apache内容缓存

    在此期间,可以使用指示其状态的警告标头来提供过时资源。我们将在/tmp文件夹中设置缓存锁定目录。我们将允许锁定最多5秒钟才能被视为有效。...这些示例直接来自Apache的文档,因此它们应该适用于我们的目的。 我们还将告诉Apache忽略Set-Cookie标头而不将它们存储在缓存中。...我们设置的另一个指令是CacheDefaultExpire,如果内容上既没有设置头文件Expires也没有设置头文件Last-Modified,我们可以设置一个到期时间(以秒为单位)。...在内容上设置过期和缓存标头 在上面的配置中,我们配置了HTTP缓存,它依赖于HTTP头。...但是,我们所服务的内容实际上并不具备进行智能缓存决策所需的Expires或Cache-Control标头。要设置这些标头,我们需要利用更多的模块。

    1.4K00

    跟我一起探索 HTTP-HTTP缓存

    Kitchen-sink 标头如下所示,用于尝试解决不理解当前 HTTP 缓存规范指令(如 no-store)的“旧且未更新的代理缓存”的实现。...在大多数情况下,你可以通过 Cache-Control 标头和你自己的配置文件或仪表板来控制缓存的行为。...Expires 或 max-age 在 HTTP/1.0 中,新鲜度过去由 Expires 标头指定。 Expires 标头使用明确的时间而不是通过指定经过的时间来指定缓存的生命周期。...那么 max-age 应该设置多长时间呢?QPACK 规范提供了该问题的答案。 QPACK 是一种用于压缩 HTTP 标头字段的标准,其中定义了常用字段值表。 一些常用的缓存头值如下所示。...对于预构建的静态文件生成这些标头很容易。 这里的 ETag 值可能是文件的哈希值。

    61851

    Nginx+Tomcat实现动静分离、负载均衡

    什么是动静分离 为了提高网站的响应速度,减轻程序服务器(Tomcat,Jboss等)的负载,对于静态资源比如图片,js,css等文件,我们可以在反向代理服务器中进行缓存,这样浏览器在请求一个静态资源时,...本文的动静分离主要是通过nginx+tomcat来实现,其中nginx处理图片、html、JS、CSS等静态文件,tomcat处理jsp、servlet等动态请求。...启动Tomcat测试是否能够访问。 浏览器输入网址:http://192.168.22.229:8080/drp/index.jsp ? 在228服务器上同样建立上述文件和目录,不在叙述。...32k; #指定客户端请求中较大的消息头的缓存最大数量和大小,这里是4个32KB large_client_header_buffers 4 32k...#设置识别HTTP协议版本,默认是1.1 gzip_http_version 1.1; #gzip压缩比,可在1~9中设置,1压缩比最小,速度最快,9压缩比最大

    2.5K50
    领券