Uploaded image for project: 'Confluence Server'
  1. Confluence Server
  2. CONFSERVER-58754

support for storing URLs longer than 255 characters

    XMLWordPrintable

    Details

    • UIS:
      1
    • Feedback Policy:
      We collect Confluence feedback from various sources, and we evaluate what we've collected when planning our product roadmap. To understand how this piece of feedback will be reviewed, see our Implementation of New Features Policy.

      Description

      Issue Summary

      Currently the "EXTRNLNKS" and "TRACKBACKLINKS" tables use a VARCHAR 255 data type for URL and and LOWERURL columns. 

      It is requested that Confluence would support longer URLs in these tables and any others that store URLs. 

      Impact

      This can break imports if they contain URLs greater than 255 characters. 

      RFC Standard 

      RFC 2616 (Hypertext Transfer Protocol HTTP/1.1) section 3.2.1 says

      The HTTP protocol does not place any a priori limit on the length of a URI. Servers MUST be able to handle the URI of any resource they serve, and SHOULD be able to handle URIs of unbounded length if they provide GET-based forms that could generate such URIs. A server SHOULD return 414 (Request-URI Too Long) status if a URI is longer than the server can handle (see section 10.4.15).

      That RFC has been obsoleted by RFC7230 which is a refresh of the HTTP/1.1 specification. It contains similar language, but also goes on to suggest this:

      Various ad hoc limitations on request-line length are found in practice. It is RECOMMENDED that all HTTP senders and recipients support, at a minimum, request-line lengths of 8000 octets.

      Search Engine Support for Long URLs

      The sitemaps protocol, which allows a site to inform search engines about available pages, has a limit of 2048 characters in a URL. 

      There's also some research from 2010 into the maximum URL length that search engines will crawl and index. They found the limit was 2047 chars, which appears allied to the sitemap protocol spec. However, they also found the Google SERP tool wouldn't cope with URLs longer than 1855 chars.

      Browser Acceptance

      Below are character limits for various browsers:

      Browser     Address bar   document.location
                                or anchor tag
      ------------------------------------------
      Chrome          32779           >64k
      Android          8192           >64k
      Firefox          >64k           >64k
      Safari           >64k           >64k
      IE11             2047           5120
      Edge 16          2047          10240 

      Recommendation

      Practically speaking, supporting the storage of URLs with length < 2048 characters should be sufficient (VARCHAR 2048).

      KB Article

      Knowledgebase article tracking the associated import error: Space or Site imports fail when URLs in import file are longer than 255 characters

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned
              Reporter:
              asmith4@atlassian.com Andrew Smith
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated: