1. A method for accessing data in a computer network, the method comprising: receiving a reference address and computing device type information for a computing device seeking access to data identified by the received reference address wherein the data is accessible by multiple computer programs, each computer program being identified by a reference address and able to access the identified data and programmatically structure and arrange the accessed data for display or use on one or more particular computing device types, the multiple computer programs including at least a first computer program that is able to programmatically structure and arrange the accessed data for display or use on multiple computing device types and a second computer program that is able to programmatically structure and arrange the accessed data for display or use on a single computing device type; determining a computing device type for the computing device seeking access to the data identified by the received reference address based on the received computing device type information; based on the determined computing device type, selecting, from among the multiple computer programs, a computer program that is able to access the data identified by the received reference address and programmatically structure and arrange the accessed data for display or use on the determined computing device type for the computing device seeking access to the data identified by the received reference address; translating, based on the received, the received reference address to a second reference address that identifies the selected computer program that is able to access the data identified by the received reference address and programmatically structure and arrange the accessed data for display or use on the computing device seeking access to the data identified by the received reference address; determining whether the selected computer program is able to programmatically structure and arrange the accessed data for display or use on multiple computing device types or only a single computing device type; conditioned on a determination that the selected computer program is able to programmatically structure and arrange the accessed data for display or use on multiple computing device types, redirecting the received reference address to the second reference address and providing, to the selected computer program identified by the second reference address, a parameter that identifies the determined computing device type for the computing device seeking access to the data to enable the selected computer program to access the data identified by the received reference address and programmatically structure and arrange the accessed data for display or use on the one of the multiple computing device types corresponding to the determined computing device type; and conditioned on a determination that the selected computer program is able to programmatically structure and arrange the accessed data for display or use on only a single computing device type, redirecting the received reference address to the second reference address without providing, to the selected computer program identified by the second reference address, a parameter that identifies the determined computing device type for the computing device seeking access to the data.