A secure streaming
content delivery system provides a plurality of content servers connected to a network that host customer content that can be cached and / or stored, e.g., images, video, text, and / or
software. The content servers respond to requests for customer content from users. The invention load balances user requests for cached customer content to the appropriate
content server. A user makes a request to a customer's
server /
authorization server for delivery of the customer's content. The
authorization server checks if the user is authorized to view the requested content. If the user is authorized, then the
authorization server generates a hash value using the authorization server's secret key, the
current time, a time-to-live value, and any other information that the customer has configured, and embeds it into the URL which is passed to the user. A
content server receives a URL request from the user for customer content cached on the
content server. The request is verified by the content server creating its own hash value using the customer server's secret key, the
current time, a time-to-live value, and any other related information configured for the customer. If the hash value from the URL matches the content server's generated hash value, then the user's request is valid and within the
expiration time period and the content server delivers the requested content to the user.