code: public function cacheResponse()
      {
          $this->view->popDynamicContent();
          $beforeCacheResponseResult = $this->beforeCacheResponse();
          if ($beforeCacheResponseResult === false) {
              echo $this->updateDynamicContent(ob_get_clean(), $this->getDynamicPlaceholders());
              return;
          }
  
          $response = Yii::$app->getResponse();
          $response->off(Response::EVENT_AFTER_SEND, [$this, 'cacheResponse']);
          $data = [
              'cacheVersion' => static::PAGE_CACHE_VERSION,
              'cacheData' => is_array($beforeCacheResponseResult) ? $beforeCacheResponseResult : null,
              'content' => ob_get_clean(),
          ];
          if ($data['content'] === false || $data['content'] === '') {
              return;
          }
  
          $data['dynamicPlaceholders'] = $this->getDynamicPlaceholders();
          foreach (['format', 'version', 'statusCode', 'statusText'] as $name) {
              $data[$name] = $response->{$name};
          }
          $this->insertResponseCollectionIntoData($response, 'headers', $data);
          $this->insertResponseCollectionIntoData($response, 'cookies', $data);
          $this->cache->set($this->calculateCacheKey(), $data, $this->duration, $this->dependency);
          $data['content'] = $this->updateDynamicContent($data['content'], $this->getDynamicPlaceholders());
          echo $data['content'];
      }
docs: Caches response properties.
  @since 2.0.3