The present disclosure relates in general to content browsers and in particular to automatic updating of redirected location references associated with content items.
The World Wide Web is a highly decentralized Internet-based system that provides on-demand access to information stored on various servers connected to the Internet. The information is stored in the form of “web pages,” which can include various combinations of information elements (text, graphics, images, video, audio, etc.). A typical web page includes one or more “links” that refer to other web pages on the same server or different servers. A page's author (human or automated) can create a link by associating an item (e.g., a word, phrase, image, or graphical element) on a page being created or edited with a reference to the location of another page. The location reference is generally in the form of a Uniform Resource Locator (“URL”) that identifies a target server and a target location of a specific content item on that server, and the association of a URL with an element on the page can be established, e.g., using the <a> tag defined in HyperText Markup Language (“HTML”).
Web pages are generally accessed by users operating browser clients that are capable of making requests for content items from various servers using protocols such as the HyperText Transfer Protocol (“HTTP”). The user can navigate from one page to another using the links provided on the various pages. For example, the browser client can present the web page with visual indicia to indicate links (e.g., changes in text color, font, or the appearance of a cursor when moved over the links). The user can select a link, e.g., by clicking with a mouse or touching on a touchscreen. In response, the browser client uses the associated location reference to formulate a request to a server for a different web page. This process is sometimes referred to as linking, or following a link.
The web, of course, is highly dynamic, and pages tend not to remain at fixed locations forever. This can result in “broken” links—i.e., instances where a server answers a browser client's request with a response indicating that the requested item is not present. To reduce this problem, it is possible to provide a forwarding address of sorts for pages that have been moved. For example, in HTTP, a server can respond to a client request for a page by providing a response with a status code in the 3xx series indicating that the requested page has moved and a “Location” header providing the new location of the page. A client that receives an HTTP response with a status code 3xx can use the Location header to formulate a new request. This is referred to as “redirection.”
Redirection has been leveraged for other purposes, beyond just helping clients find pages that were moved. For instance, URLs can sometimes be quite lengthy and consequently cumbersome for users to share with other users (e.g., in environments where messages have character limits) or just difficult to remember or type correctly. Accordingly, a number of services have been created that leverage URL redirection to allow users to obtain shorter or more memorable aliases for URLs they find unwieldy. Examples include bit.ly (a service of bitly Inc.), t.co (provided by Twitter, Inc.), and tinyurl.com (a service of TinyURL, LLC). A link to a URL provided by one of these services redirects to the actual location of the page.