As a website owner, I'm always thinking about making my website available on more channels, so I enabled IPv6 several years ago.
NDN comes to my eye as a new "content distribute model" and "communicate protocol".
It's natural for me to think about: how do I deploy my website on NDN?
Like most small websites, my website runs mainly on HTTP.
Visitors issue GET requests to retrieve pages and resources, which is essentially static but may change at any time.
They issue POST requests to interact with web applications, or play with JavaScript-based web applications.
I used to provide file downloading through FTP or BitTorrent (but it's now on SkyDrive).
I'm collecting statistics with Google Analysis, and an accurate report is important to me.
To sum up, I have 5 scenarios:
- retrieve pages and resources;
- server-based web applications;
- JavaScript-based web application;
- file downloading;
- analysis.
File downloading is the easiest one on NDN.
Once a file is published, I would not modify it without using a new name.
So, publishing files under a NDN prefix is sufficient.
By adding a segmentation component in data names, visitors can download a piece of a file, which is similar to BitTorrent.
Retrieving pages and resources is similar to file downloading, except that pages may change at any time.
I don't know when a page will change, so I cannot specify an expiry time when the page was served.
In HTTP, user agents can include a If-Modified-Since header, and server would respond with 304 status code if page is not modified without sending the content.
In NDN, I can add a version component in data names, so user agents can INTEREST locally-cached version number with RightmostRightSibling annotation.