LONDON -- Harry Potter readers have long wanted to know: Why did the boy wizard choose to honour Severus Snape -- a teacher who had been so mean to him?

Author JK Rowling took to Twitter to answer the enduring question on Friday in an exchange with a fan who asked why one of Harry's children received the middle name of Severus.

The acclaimed author explained that Harry paid tribute to Snape because of "forgiveness and gratitude."

Though Snape bullied Harry, he also saved him.

Rowling says that by honouring Snape, "Harry hoped in his heart that he too would be forgiven. The deaths at the Battle of Hogwarts would haunt Harry forever."

Rowling's seven Harry Potter novels have sold more than 450 million copies and been made into eight films.