Dlaczego tak wiele dużych i małych witryn wstawia pliki statyczne (CSS, obrazy, JavaScript, ECC) w subdomenie takiej jak media.example.com
lub s2.static.example.com
?
Jakie są zalety? Dlaczego nie tylko taki katalog example.com/media/
?
Widzę co najmniej trzy możliwe (dobre) powody:
Tak się dzieje w StackOverflow, jeśli dobrze pamiętam
Myślę, że głównym powodem są ciasteczka.
Pliki cookie będą wysyłane wraz z każdym żądaniem , powiedzmy, że masz 2kb danych cookie i ładujesz 20 obrazów na stronie.
To dodatkowe 40 KB danych, pomnóż to przez liczbę wyświetleń strony w ciągu miesiąca, a możesz być zaskoczony tym, ile przepustowości utraciłeś w czymś bezużytecznym, a przepustowość nie jest darmowa ...
Pliki cookie ustawione w domenie najwyższego poziomu są wysyłane we wszystkich żądaniach kierowanych do dowolnej subdomeny, w takich przypadkach zaleca się nawet zakup nowej domeny do hostowania tam składników statycznych, w domenie bez plików cookie .
Na przykład używa StackOverflow sstatic.net
, Yahoo yimg.com
, YouTube ytimg.com
, Amazon images-amazon.com
itp.
Spójrz na to:
Aby dodać do niektórych z powyższych odpowiedzi: niektóre przeglądarki internetowe mogą pobierać tylko dwa pliki jednocześnie z dowolnej domeny.
Obsługujących zawartość statyczną z innej nazwy hosta (lub nazwy - na przykład a.domain
, b.domain
, c.domain
) pozwala te starsze przeglądarki, aby pobrać więcej plików równolegle.
... używaj domen wolnych od plików cookie dla komponentów.
Gdy przeglądarka wysyła żądanie statycznego obrazu i wysyła pliki cookie wraz z żądaniem, serwer nie ma żadnego zastosowania dla tych plików cookie. Tworzą ruch sieciowy tylko bez uzasadnionego powodu. Należy upewnić się, że wymagane są komponenty statyczne z żądaniami bez plików cookie. Utwórz subdomenę i umieść tam wszystkie elementy statyczne.
Ta rada pochodzi z najlepszych praktyk firmy Yahoo dotyczących przyspieszenia witryny .
Tylko dlatego, że twoje żądanie HTTP będzie mniejsze, a serwer będzie działał szybko, a żądany plik zostanie przekazany w bardzo krótkim czasie, co ostatecznie doprowadzi do najszybszego ładowania strony