"URL reservation delete failed , Error: 87" when I 'netsh http delete'

Solution 1:

You're missing a trailing slash. Instead use:

netsh http delete urlacl url=http://localhost:80/

When you use netsh show urlacl on the same URL, the Reserved URL entry has a trailing slash. This is the URL you should be using for any urlacl operations.