public function getUrl($includeQueryString = true)
    {
        $url = $this->getProtocol() . '://';
        $url .= $this->getHostname();

        $isAbnormalPort = ($this->isHttps() && $this->getPort() != 443) || (!$this->isHttps() && $this->getPort() != 80);

        if ($isAbnormalPort) {
            $url .= ':' . $this->getPort();
        }

        $url .= $this->getRequestUri($includeQueryString);
        return $url;
    }