2009-10-06 38 views
12

Công ty của tôi lưu trữ khoảng 30 trang web chia sẻ cùng một cơ sở mã và sử dụng lại nhiều hình ảnh giống nhau. Ngay bây giờ, hình ảnh cho tất cả các trang web được lưu trữ trên một tên miền, và sau đó mọi trang web khác phải liên kết đến những hình ảnh đó.Lưu trữ hình ảnh trên các miền phụ riêng biệt

tức, www.example.com/images/hello.jpg

và trên www.example2.com chúng tôi có một cái gì đó như: <img src="http://www.example.com/images/hello.jpg" />

Gần đây có người nói với tôi rằng tôi nên đặt tất cả của những hình ảnh được chia sẻ/tĩnh này trên một tên miền phụ, nhưng tôi không thấy những ưu điểm này. Tôi đã nghe nói rằng có thể có một sự gia tăng tốc độ nhỏ, nhưng tôi cũng nghe nói rằng nó có thể làm phức tạp mọi thứ. Ai đó có thể xây dựng?

Trả lời

16

Một vài lợi thế với nó:

  • Một tên miền riêng biệt ngăn chặn cookie của tên miền của bạn được gửi cho mọi yêu cầu hình ảnh, nơi họ đang không cần thiết. Giảm chi phí băng thông cho mỗi yêu cầu.
  • Hầu hết các trình duyệt sẽ chỉ thực hiện một số yêu cầu HTTP nhất định tại một miền cụ thể, do đó việc phân phối hình ảnh và nội dung tĩnh khác ngoài miền thứ hai có thể tăng gấp đôi số yêu cầu HTTP cùng một lúc.
  • Bạn có thể sử dụng một máy chủ web có trọng số nhẹ hơn khác nhau như nginx/lighttpd để phân phối nội dung tĩnh.

Nhược điểm:

  • Quản lý nó.
  • Hai lần tra cứu DNS thay vì một lần tra cứu DNS.
+0

@ceejayoz: +1 cảm ơn thông tin thú vị. Điều đó có ý nghĩa với bạn rằng máy chủ web có thể nhanh hơn trong việc tải xuống hình ảnh song song với các tên miền/miền phụ khác nhau không? –

+0

@Marco Demaio Tôi không tin rằng có sự khác biệt trên máy chủ web, không. – ceejayoz

3

Khi trình duyệt yêu cầu tệp tĩnh như CSS và Javascript, trình duyệt thường giới hạn số lượng kết nối đến máy chủ/miền phụ đã cho. Đặt các tệp tĩnh trong một miền khác cho phép tải xuống đồng thời nhiều hơn.

Nếu được thiết lập đúng, tên miền phụ khác có thể chỉ là một thư mục trên máy chủ web của bạn. Phụ thuộc vào config-file-fu của bạn.

3

Điều này được đề cập trong một vài podcast trên Stackoverflow.

Một mối quan tâm - nếu bạn đang phục vụ trang https, người dùng có thể nhận được cảnh báo về kết hợp các mục an toàn và không an toàn.

Các vấn đề liên quan