Можно сохранять в
sessionStorage.
После каждого нажатия keyup делать отчет 500мс. и если повторное нажатие не было произведено, делать сохранение.
При загрузке страницы смотреть на наличие данных в sessionStorage и вставлять в соответствующие поля.
Данные хранить лучше в формате JSON.
Все это на веб-клиенте и сервер ни как не задействуется.