1. A computer-implemented method for sending an encrypted request to a remote computer system over a named-data network, the method comprising: determining, by a client computing device, a request for data or a service from the remote computer system comprising a plurality of distributed servers; determining at least a routable prefix for the remote computer system, and a name suffix associated with the request; as part of initiating a session with the remote computer device, at the client device, determining a session encryption key that corresponds to the session, the determining the session encryption key including: encrypting a temporary key of the client device with a public key, and sending to the remote computer system a session setup message including the encrypted temporary key; receiving from the remote computer system a server setup packet encrypted using the temporary key, the server setup packet including a session identifier for the session and the session encryption key; and decrypting the server setup packet using the temporary key to recover the session identifier and the session encryption key; encrypting the name suffix using the session encryption key; generating an Interest comprising a first name that includes the routable prefix unencrypted, and also includes the Content Object name suffix which is encrypted using the session encryption key; disseminating the Interest, by the client computing device over a named-data network, to send the request to any distributed server of the remote computer system; in response to the Interest, receiving a Content Object that satisfies the Interest, wherein the Content Object comprises a second name that includes the routable prefix unencrypted and also includes the Content Object name suffix which is encrypted using the session encryption key, wherein a payload of the Content Object is encrypted using the session encryption key; and decrypting the Content Object name suffix using the session encryption key.