<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head runat="server">
    <!-- PageID 382 - published by RedDot 7.5 - 7.5.1.69 - 22111 -->
    <META name="PublicArticle" content="True" />
    <META http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <META name="keywords" />
    <META name="summary" />
    <META name="product" content="fp_web" />
    <META name="version" content="v85" />
    <META name="book" content="Content Gateway Manager Help, v8.5.x" />
    <title>Web Proxy Caching</title>
    <!--Loading the 2016 fonts.-->
    <script type="text/javascript" src="//fast.fonts.net/jsapi/c504d579-e135-4f75-8335-4906f6c6ce67.js"></script>
    <!--Library content styles.-->
    <link rel="StyleSheet" href="https://help.forcepoint.com/docs/ni/assets/css/help2016.css" type="text/css" media="all" />
    <!--2016 font support -->
    <link type="text/css" rel="stylesheet" href="//fast.fonts.net/cssapi/c504d579-e135-4f75-8335-4906f6c6ce67.css" />
  </head>
  <body>
    <!--googleoff: all-->
    <a href="https://www.forcepoint.com">
      <img class="logo" alt="Forcepoint logo" src="https://help.forcepoint.com/docs/ni/assets/logo1.png" />
    </a>
    <div class="extLinksContainer">
      <a class="extLinks" href="//support.forcepoint.com/documentation">Documentation</a> | <a class="extLinks" href="//support.forcepoint.com">Support</a></div>
    <!--
		<wsApp:UserAccess ID="useraccess1" runat="server" IsSecure="False" />
		-->
    <div class="spacer1"></div>
    <br />
    <!-- New Navigation DIV -->
    <div class="TL_nav" style="text-align: left;">
      <table cellspacing="0" class="toolBarTable" summary="">
        <!-- End New Navigation DIV -->
        <tr>
          <td>
            <!-- New Go To TOC -->
            <a href="toc.aspx"><img src="images/toc.png" alt="Go to the table of contents" border="0" /></a>
            <!-- End Go To TOC -->
          </td>
          <td>
            <!-- New Previous -->
            <a href="tsstart.aspx"><img src="images/prev.png" alt="Go to the previous page" border="0" /></a>
            <!-- End New Previous -->
          </td>
          <td>
            <!-- New Next (Active) -->
            <a href="fresh.aspx"><img src="images/next.png" alt="Go to the next page" border="0" /></a>
            <!-- End New Next (Active) -->
          </td>
          <td>
            <!-- New PDF -->
            <a href="wcg_help.pdf"><img src="images/pdf.png" alt="View or print as PDF" border="0" /></a>
            <!-- End New PDF -->
          </td>
          <!--Start JR breadcrumbs -->
          <td width="20px"></td>
          <td>
            <div class="WebWorks_Breadcrumbs" style="text-align: left;">Web Proxy Caching </div>
          </td>
          <!--End JR breadcrumbs -->
        </tr>
      </table>
    </div>
    <!--googleon: all-->
    <div>
      <div class="TC-TitleChapter"><a name="724601">Web Proxy Caching </a></div>
      <div class="IN-TopicInfo"><a name="781405">Help | Content Gateway | v8.5.x</a></div>
      <div class="B-Body"><a name="724603">Web proxy caching stores copies of frequently accessed web objects (such as documents, images, and articles) close to users and serves this information to them. Internet users get their information faster, and Internet bandwidth is freed for other tasks.</a></div>
      <div class="B-Body"><a name="654642">Internet users direct their requests to web servers all over the Internet. For a caching server to serve these requests, it must act as a web proxy server. A web proxy server receives user requests for web objects and either serves the requests or forwards them to the </a><span class="B-Bold">origin server</span> (the web server that contains the original copy of the requested information).</div>
      <div class="B-Body"><a name="601773">Content Gateway supports both </a><span class="B-Bold">transparent proxy deployment</span>, in which the user's client software (typically a browser) is unaware that it is communicating with a proxy, and <span class="B-Bold">explicit proxy deployment</span>, in which the user's client software is configured to send requests directly to the proxy.</div>
      <div class="N1HN-HeadNoTopic1"><a name="784465">Cache requests</a></div>
      <div class="F-Frame"><a name="784502">&nbsp;</a></div>
      <table class="DropListTable" style="text-align: left" border="0" cellpadding="1" cellspacing="0" summary="">
        <caption></caption>
        <tr>
          <td style="padding-bottom: 3.5pt; padding-left: 6pt; padding-right: 6pt; padding-top: 4.5pt; vertical-align: top">
            <div class="DLC-ClosedDynamicList" onclick="WebWorks_ToggleDIV(WebWorksRootPath, &quot;wwdd784468&quot;);"><a name="784468">Related topics:</a><script type="text/javascript" language="JavaScript1.2">WebWorks_WriteArrow(WebWorksRootPath, "wwdd784468", false);</script></div>
            <script type="text/javascript" language="JavaScript1.2">WebWorks_WriteDIVOpen("wwdd784468", false);</script>
            <div class="B1-Bullet1_outer" style="margin-left: 0pt">
              <table border="0" cellspacing="0" cellpadding="0" summary="" role="presentation">
                <tr style="vertical-align: baseline">
                  <td>
                    <div class="B1-Bullet1_inner" style="width: 18pt; white-space: nowrap">
                      <img src="b1.png" alt="*" border="0" width="8" height="8" />
                    </div>
                  </td>
                  <td width="100%">
                    <div class="B1-Bullet1_inner"><span class="LEM-LinkEmphasis"><a href="sched.aspx" title="Scheduling updates to local cache content" name="784476">Scheduling updates to local cache content</a></span></div>
                  </td>
                </tr>
              </table>
            </div>
            <div class="B1-Bullet1_outer" style="margin-left: 0pt">
              <table border="0" cellspacing="0" cellpadding="0" summary="" role="presentation">
                <tr style="vertical-align: baseline">
                  <td>
                    <div class="B1-Bullet1_inner" style="width: 18pt; white-space: nowrap">
                      <img src="b1.png" alt="*" border="0" width="8" height="8" />
                    </div>
                  </td>
                  <td width="100%">
                    <div class="B1-Bullet1_inner"><span class="LEM-LinkEmphasis"><a href="pinning.aspx" title="Pinning content in the cache" name="784480">Pinning content in the cache</a></span></div>
                  </td>
                </tr>
              </table>
            </div>
            <div class="B1-Bullet1_outer" style="margin-left: 0pt">
              <table border="0" cellspacing="0" cellpadding="0" summary="" role="presentation">
                <tr style="vertical-align: baseline">
                  <td>
                    <div class="B1-Bullet1_inner" style="width: 18pt; white-space: nowrap">
                      <img src="b1.png" alt="*" border="0" width="8" height="8" />
                    </div>
                  </td>
                  <td width="100%">
                    <div class="B1-Bullet1_inner"><span class="LEM-LinkEmphasis"><a href="cacheor.aspx" title="To cache or not to cache?" name="784484">To cache or not to cache?</a></span></div>
                  </td>
                </tr>
              </table>
            </div>
            <div class="B1-Bullet1_outer" style="margin-left: 0pt">
              <table border="0" cellspacing="0" cellpadding="0" summary="" role="presentation">
                <tr style="vertical-align: baseline">
                  <td>
                    <div class="B1-Bullet1_inner" style="width: 18pt; white-space: nowrap">
                      <img src="b1.png" alt="*" border="0" width="8" height="8" />
                    </div>
                  </td>
                  <td width="100%">
                    <div class="B1-Bullet1_inner"><span class="LEM-LinkEmphasis"><a href="cachhttp.aspx" title="Caching HTTP objects" name="784488">Caching HTTP objects</a></span></div>
                  </td>
                </tr>
              </table>
            </div>
            <div class="B1-Bullet1_outer" style="margin-left: 0pt">
              <table border="0" cellspacing="0" cellpadding="0" summary="" role="presentation">
                <tr style="vertical-align: baseline">
                  <td>
                    <div class="B1-Bullet1_inner" style="width: 18pt; white-space: nowrap">
                      <img src="b1.png" alt="*" border="0" width="8" height="8" />
                    </div>
                  </td>
                  <td width="100%">
                    <div class="B1-Bullet1_inner"><span class="LEM-LinkEmphasis"><a href="forcec.aspx" title="Forcing object caching" name="784492">Forcing object caching</a></span></div>
                  </td>
                </tr>
              </table>
            </div>
            <div class="B1-Bullet1_outer" style="margin-left: 0pt">
              <table border="0" cellspacing="0" cellpadding="0" summary="" role="presentation">
                <tr style="vertical-align: baseline">
                  <td>
                    <div class="B1-Bullet1_inner" style="width: 18pt; white-space: nowrap">
                      <img src="b1.png" alt="*" border="0" width="8" height="8" />
                    </div>
                  </td>
                  <td width="100%">
                    <div class="B1-Bullet1_inner"><span class="LEM-LinkEmphasis"><a href="alternat.aspx" title="Caching HTTP alternates" name="784496">Caching HTTP alternates</a></span></div>
                  </td>
                </tr>
              </table>
            </div>
            <div class="B1-Bullet1_outer" style="margin-left: 0pt">
              <table border="0" cellspacing="0" cellpadding="0" summary="" role="presentation">
                <tr style="vertical-align: baseline">
                  <td>
                    <div class="B1-Bullet1_inner" style="width: 18pt; white-space: nowrap">
                      <img src="b1.png" alt="*" border="0" width="8" height="8" />
                    </div>
                  </td>
                  <td width="100%">
                    <div class="B1-Bullet1_inner"><span class="LEM-LinkEmphasis"><a href="ftpcache.aspx" title="Caching FTP objects" name="784501">Caching FTP objects</a></span></div>
                  </td>
                </tr>
              </table>
            </div>
            <script type="text/javascript" language="JavaScript1.2">WebWorks_WriteDIVClose();</script>
          </td>
        </tr>
      </table>
      <div class="B-Body"><a name="784504">Content Gateway serves a user request as follows:</a></div>
      <div class="S-Step_outer" style="margin-left: 0pt">
        <table border="0" cellspacing="0" cellpadding="0" summary="" role="presentation">
          <tr style="vertical-align: baseline">
            <td>
              <div class="S-Step_inner" style="width: 18pt; white-space: nowrap">1.	</div>
            </td>
            <td width="100%">
              <div class="S-Step_inner"><a name="784505">Content Gateway receives a user request for a web object.</a></div>
            </td>
          </tr>
        </table>
      </div>
      <div class="S-Step_outer" style="margin-left: 0pt">
        <table border="0" cellspacing="0" cellpadding="0" summary="" role="presentation">
          <tr style="vertical-align: baseline">
            <td>
              <div class="S-Step_inner" style="width: 18pt; white-space: nowrap">2.	</div>
            </td>
            <td width="100%">
              <div class="S-Step_inner"><a name="601780">Using the web address, the proxy tries to locate the requested object in its object store (cache).</a></div>
            </td>
          </tr>
        </table>
      </div>
      <div class="S-Step_outer" style="margin-left: 0pt">
        <table border="0" cellspacing="0" cellpadding="0" summary="" role="presentation">
          <tr style="vertical-align: baseline">
            <td>
              <div class="S-Step_inner" style="width: 18pt; white-space: nowrap">3.	</div>
            </td>
            <td width="100%">
              <div class="S-Step_inner"><a name="638108">If the object is in the cache, the proxy checks to see if the object is fresh enough to serve (see </a><span class="LEM-LinkEmphasis"><a href="fresh.aspx" title="Ensuring cached object freshness">Ensuring cached object freshness</a></span>). If the object is fresh, the proxy serves it to the user as a <span class="B-Bold">cache hit</span><span class="EM-Emphasis" style="color: #000000; font-weight: normal">. </span></div>
            </td>
          </tr>
        </table>
      </div>
      <div class="S-Step_outer" style="margin-left: 0pt">
        <table border="0" cellspacing="0" cellpadding="0" summary="" role="presentation">
          <tr style="vertical-align: baseline">
            <td>
              <div class="S-Step_inner" style="width: 18pt; white-space: nowrap">4.	</div>
            </td>
            <td width="100%">
              <div class="S-Step_inner"><a name="601786">If the data in the cache is stale, the proxy connects to the origin server and asks if the object is still fresh (a revalidation). If the object is still fresh, the proxy sends the cached copy to the user.</a></div>
            </td>
          </tr>
        </table>
      </div>
      <div class="S-Step_outer" style="margin-left: 0pt">
        <table border="0" cellspacing="0" cellpadding="0" summary="" role="presentation">
          <tr style="vertical-align: baseline">
            <td>
              <div class="S-Step_inner" style="width: 18pt; white-space: nowrap">5.	</div>
            </td>
            <td width="100%">
              <div class="S-Step_inner"><a name="787451">If the object is not in the cache (a cache miss) or the server indicates that the cached copy is no longer valid, the proxy obtains the object from the origin server, simultaneously streaming it to the user and the cache. Subsequent requests for the object will be served faster because the object will come directly from the cache.</a></div>
            </td>
          </tr>
        </table>
      </div>
      <div class="B-Body"><a name="787452">Content Gateway can store and serve </a><span class="B-Bold">Java applets</span>, <span class="B-Bold">JavaScript</span> programs, <span class="B-Bold">VBScripts</span>, and other executable objects from its cache according to the freshness and cacheability rules for HTTP objects. Content Gateway does not execute the applets, scripts, or programs. These objects run only when the client system that sent the request loads them.</div>
      <div class="B-Body"><span class="B-Bold"><a name="787361">Content Gateway does not store partial documents in the cache. </a></span>Should a client disconnect while an HTTP or FTP download is underway, Content Gateway continues the download for up to 10&nbsp;seconds after the disconnect. If the transfer completes successfully, Content Gateway stores the object in the cache. If the download does not complete, Content Gateway disconnects from the origin server and deletes the object from the cache.</div>
    </div>
    <!--googleoff: all-->
    <div class="library_search">
      <form class="support_search" action="/content/kb-search.aspx" method="get">
        <label></label>
        <label></label>
        <input type="text" name="q" value=" Search eSupport" onfocus="if (this.value == ' Search eSupport') {this.value = '';}" onblur="if (this.value == '') {this.value = ' Search eSupport';}"></input>
        <input type="submit" value=" "></input>
      </form>
    </div>
    <br class="clear" />
    <!-- New Navigation DIV -->
    <div class="TL_nav" style="text-align: left;">
      <table cellspacing="0" class="toolBarTable" summary="">
        <!-- End New Navigation DIV -->
        <tr>
          <td>
            <!-- New Go To TOC -->
            <a href="toc.aspx"><img src="images/toc.png" alt="Go to the table of contents" border="0" /></a>
            <!-- End Go To TOC -->
          </td>
          <td>
            <!-- New Previous -->
            <a href="tsstart.aspx"><img src="images/prev.png" alt="Go to the previous page" border="0" /></a>
            <!-- End New Previous -->
          </td>
          <td>
            <!-- New Next (Active) -->
            <a href="fresh.aspx"><img src="images/next.png" alt="Go to the next page" border="0" /></a>
            <!-- End New Next (Active) -->
          </td>
          <td>
            <!-- New PDF -->
            <a href="wcg_help.pdf"><img src="images/pdf.png" alt="View or print as PDF" border="0" /></a>
            <!-- End New PDF -->
          </td>
          <!--Start JR breadcrumbs -->
          <td width="20px"></td>
          <td>
            <div class="WebWorks_Breadcrumbs" style="text-align: left;">Web Proxy Caching </div>
          </td>
          <!--End JR breadcrumbs -->
        </tr>
      </table>
    </div>
    <div class="extFooterContainer">
      <div class="extFooter">
        <div align="center">Copyright 2023 Forcepoint. All rights reserved.</div>
      </div>
    </div>
    <SCRIPT>
   function getFileName() {
      //this gets the full url
      var url = document.location.href;
      //this removes the anchor at the end, if there is one
      url = url.substring(0, (url.indexOf("#") == -1) ? url.length : url.indexOf("#"));
      //this removes the query after the file name, if there is one
      url = url.substring(0, (url.indexOf("?") == -1) ? url.length : url.indexOf("?"));
      //this removes everything before the last slash in the path
      url = url.substring(url.lastIndexOf("/") + 1, url.length);
      //return
      return url;
   }

   var url = document.URL;
   var Docname = getFileName()
   s.pageName = "enu:support:technical library:v85xwcg_help:" + Docname;
   s.prop1 = "enu:support";
   s.prop2 = "enu:support:technical library";
   s.channel = "support";
   // <!--
   s.server = "<%= System.Environment.MachineName %>";
   //--></SCRIPT>
    <script language="javascript1.1" type="text/javascript">
   /********Do Not alter below this line ***********/
   var s_code = s.t(); if (s_code) document.write(s_code)
   //--&gt;</script>
  </body>
  <!--"GENERALQUARTERSALLHANDSMANYOURSTATIONS"-->
</html>