Magento 1.x EE FPC saves entire page into the cache. But there are some sections in the page that need to be rebuilt during customer journey. E.g. If you add a product to cart the minicart should be updated.
There is no point having FPC if we invalidate entire cache each time customer add a product to the cart. Since the cart is visible in all the pages we have to flush the entire cache in order to see the updated cart.
To address this issue they have introduced cache containers. You can find these containers under
What it does is rebuild the specific section of the page by checking the cache id. The id can be a combination of several variables, cookies, and constants. The purpose of this id is to invalidate the section cache when required.
If you check
Enterprise_PageCache_Model_Container_Minicart the cache id is generated using the following method
public static function getCacheId()
$cookieCart = Enterprise_PageCache_Model_Cookie::COOKIE_CART;
$cookieCustomer = Enterprise_PageCache_Model_Cookie::COOKIE_CUSTOMER;
. (array_key_exists($cookieCart, $_COOKIE) ? $_COOKIE[$cookieCart] : '')
. (array_key_exists($cookieCustomer, $_COOKIE) ? $_COOKIE[$cookieCustomer] : ''));
The each time the quote get to update it delete this cache id from the cache.
Enterprise_PageCache_Model_Observer::registerQuoteChange. In the next immediate request, the system can not find the content related to this cache id. So it regenerates the contents and saves to the cache.
The CUSTOMER_SEGMENT_IDS cookie is used in
Enterprise_PageCache_Model_Container_Banner container. Banners can be displayed based on customer segments. Customer segments can be created using various conditions including customer address variables. The length of this cookie vary depends on customer segments.
The purpose of this cookie is to invalidate the cache sections and display banners based on customer segments. If you are not using this functionality you can remove it. The recommended solution is to increase the header size from the server.
Hope this helps!