Windows 7 långsamt mot localhost
När du utvecklar mot din lokala dator och tycker att det går långsamt att ladda bilder o.s.v. så kan det bero på andra orsaker än att din dator är långsam eller har för lite minne. Sedan införandet av IPv6 i Windows Vista har det blivit lite inkörningsproblem där bland annat namnet ”localhost” har hamnat mellan stolarna.
Tidigare i Windows gjordes uppslagningen av namnet localhost i filen ”hosts” som ligger under Windows\System32\Drivers\etc - men från och med Windows 7 står det följande rader i hosts filen:
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
Enligt IPv6-standarden skall alla uppslag av IP-adresser skötas av DNS-servern, men om du har en DNS-leverantör som inte stöder detta eller har en äldre router som inte stöder IPv6 så innebär detta att varje anrop innebär en timeout i uppslagningen tills din webbläsare byter till IPv4. Detta gör att sidan upplevs väldigt långsam. Det är viktigt att saker och ting görs på rätt sätt för att standarden ska bli så bra som möjligt men för dig som utvecklare är det också viktigt att snabbt kunna testa resultatet av din kod. Som tur är finns det en lösning på problemet:
Lösningen är att antingen stänga av Ipv6 (inte rekommenderat)
eller ta bort # tecknet i hosts filen på ipv4-adressen vilket kommer göra att uppslagningen av localhost kommer att gå direkt i din datorn utan DNS-uppslag och kommer välja ipv4 framför IPv6 för localhost-adresser. Detta gör också att du kan fortsätta utveckla trots att du är offline.
# localhost name resolution is handled within DNS itself.
127.0.0.1 localhost
# ::1 localhost
Obs, för att redigera i hosts filen så behöver du starta Notepad som Administratör.
Skillnad:
Med localhost IPv4 påslaget i hosts filen:
Christian Landgren
2010-05-25