По сути, из моего прочтения, вашим SERVER_NAME может быть имя самого сервера windows, а не имя DNS, которое остальной мир использует для доступа к этому серверу. HTTP_HOST может быть лучше, потому что это содержимое заголовка http хоста, полученное из того, что пользователь ввел в свою адресную строку, а затем из того, что браузер пользователя прошел, чтобы получить доступ к сайту.
Это особенно полезно для многодомных сайтов, под которыми я подразумеваю один набор кода, например два сайта с разным брендированием / стилем, разными привязками в IIS (разные имена DNS), но с одним и тем же базовым кодом, повторение пользователю того, что они ввели в браузер, означает, что они всегда думают, что взаимодействуют с одним и тем же сайтом