some unit test
locks
use rwlock

expand cache key to full url