Tại sao chèn các tệp tĩnh (CSS, hình ảnh, JavaScript, ECC) trong một tên miền phụ?


29

Tại sao rất nhiều lớn và các trang web chèn ít file tĩnh (CSS, hình ảnh, JavaScript, ECC) trong tên miền phụ như media.example.comhay s2.static.example.com?

Các lợi thế là gì? Tại sao không chỉ là một thư mục như thế example.com/media/nào?

Câu trả lời:


24

Tôi thấy ít nhất ba lý do có thể (tốt):

  • Sử dụng máy khác để phục vụ nội dung tĩnh
    • Bao gồm một số CDN
  • Sử dụng máy chủ web khác để phục vụ nội dung tĩnh
    • Một cái gì đó nhẹ hơn và nhanh hơn
    • Không cần một máy chủ PHP / .NET / JAVA đầy đủ để phục vụ nội dung tĩnh!
  • Sử dụng tên miền khác có nghĩa là bạn sẽ không thể có cookie được sử dụng trên tên miền chính

Đó là những gì được thực hiện trên StackOverflow nếu tôi nhớ chính xác


15

Lý do chính tôi nghĩ, là cho cookie.

Cookies sẽ được gửi cùng với mọi yêu cầu , giả sử nếu bạn có 2kb dữ liệu cookie và tải 20 hình ảnh trên một trang.

Đó là thêm 40kb dữ liệu, nhân với số lượt xem trang bạn có trong một tháng và bạn có thể ngạc nhiên về số lượng băng thông bạn đã mất trong một thứ gì đó vô dụng và băng thông không miễn phí ...

Ngoài ra, cookie được đặt trên tên miền cấp cao nhất, được gửi qua tất cả các yêu cầu được thực hiện cho bất kỳ tên miền phụ nào, trong những trường hợp đó, thậm chí được khuyến nghị mua một tên miền mới để lưu trữ các thành phần tĩnh ở đó, trong miền không có cookie .

Ví dụ: sử dụng StackOverflow, sử dụng sstatic.netYahoo yimg.com, sử dụng YouTube ytimg.com, sử dụng Amazon images-amazon.com, v.v.

Hãy nhìn vào điều này:


8

Để thêm vào một số câu trả lời ở trên: một số trình duyệt web chỉ có thể tải xuống hai tệp cùng lúc từ bất kỳ miền nào.

Phục vụ nội dung tĩnh từ một tên máy chủ khác nhau (hoặc tên - ví dụ như a.domain, b.domain, c.domain) cho phép các trình duyệt cũ để tải nhiều file song song.


2

... sử dụng tên miền không có cookie cho các thành phần.

Khi trình duyệt đưa ra yêu cầu cho một hình ảnh tĩnh và gửi cookie cùng với yêu cầu, máy chủ sẽ không sử dụng bất kỳ cookie nào. Vì vậy, họ chỉ tạo ra lưu lượng truy cập mạng không có lý do chính đáng. Bạn nên đảm bảo các thành phần tĩnh được yêu cầu với các yêu cầu không có cookie. Tạo một tên miền phụ và lưu trữ tất cả các thành phần tĩnh của bạn ở đó.

Lời khuyên này được lấy từ Thực tiễn tốt nhất của Yahoo để tăng tốc trang web của bạn .


0

Chỉ vì yêu cầu http của bạn sẽ nhỏ hơn và máy chủ sẽ chạy nhanh và tệp được yêu cầu sẽ được cung cấp trong một thời gian rất nhỏ, cuối cùng sẽ dẫn đến tải trang nhanh nhất


Điều này không thêm bất cứ điều gì mà các câu trả lời khác chưa nói. Bạn thậm chí không nói lý do tại sao yêu cầu nhỏ hơn (vì không có cookie), vì vậy câu trả lời này tệ hơn so với nhiều người khác.
Stephen Ostermiller
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.