2010-09-23 37 views

Trả lời

40

Có, bạn có thể chuyển hướng hình ảnh và trình duyệt sẽ làm theo chuyển hướng. Nhưng nói chung bạn sẽ muốn tiếp tục chuyển hướng đến mức tối thiểu vì lý do hiệu suất, bởi vì mỗi chuyển hướng yêu cầu một yêu cầu HTTP riêng biệt, bổ sung thêm chi phí máy chủ và tăng thời gian tải trang của người dùng cuối một chút.

Điều duy nhất bạn nên tránh là chuyển hướng nhiều hình ảnh trên một trang. Điều này sẽ làm chậm thời gian tải trang, đặc biệt là trên các mạng có độ trễ cao (ví dụ: điện thoại, Trung Quốc, internet vệ tinh) trong đó mỗi yêu cầu HTTP mới mất một thời gian dài. Ngoài ra, các máy khách HTTP được giới hạn ở một số lượng nhỏ các kết nối HTTP đồng thời trên mỗi tên máy chủ, vì vậy ngay cả trên các mạng nhanh, bạn sẽ bị nghẽn cổ chai. Tuy nhiên,

Việc chuyển hướng 1 hoặc 2 hình ảnh trên một trang không phải là vấn đề lớn.

Nếu bạn chuyển hướng hình ảnh và chúng có thể lưu vào bộ nhớ cache, bạn nên đặt tiêu đề HTTP Expires (và tiêu đề Cache-Control thích hợp) cho một ngày trong tương lai xa, vì vậy ít nhất là trong những lần truy cập sau đó sẽ không phải chuyển qua lại chuyển hướng.

Nếu lý do bạn chuyển hướng là phù hợp với sơ đồ URL mới, hầu hết các máy chủ web đều có cách dễ dàng để viết lại URL trên máy chủ mà không phải gửi chuyển hướng thực sự về máy khách. Nói cách khác, khách hàng có thể yêu cầu /static/bar.jpg nhưng máy chủ có thể được cấu hình để dịch thành /media/images/bar.jpg. Cách tiếp cận viết lại URL này thích hợp hơn để chuyển hướng trong hầu hết các trường hợp, vì bạn có thể cấu trúc lại nơi nội dung của bạn sống trên máy chủ mà không làm phát sinh phí chuyển hướng ở phía máy khách hoặc phía máy chủ.

+0

Tôi không ủng hộ hoặc là 301 hoặc viết lại, vì nó tùy thuộc vào dự án phù hợp hơn, nhưng tôi muốn đề cập đến một xem xét bổ sung viết lại. Viết lại không phải là chi phí miễn phí, họ sẽ yêu cầu một số mức độ của các nguồn lực xử lý bổ sung. Trong nhiều tình huống, đây không phải là mối quan tâm, vì tổng mức tiêu thụ tài nguyên tương ứng với việc viết lại độ phức tạp và số lần thực hiện. Tôi chỉ muốn đảm bảo rằng mọi người đều hiểu rằng cả hai phương pháp đều có chi phí của họ, cũng như mọi giải pháp tiềm năng. – TechZilla

6

Có, nó hoạt động.

Về cách thực hành tốt, lựa chọn thay thế là gì? Trả về phản hồi lỗi (404)? Không phải rất hữu ích. Trả lại hình ảnh mà tài nguyên được chuyển hướng sẽ trả về? Có lẽ là không thể, nếu không bạn sẽ không chuyển hướng. Sửa các thẻ img bằng URL mới? Chắc chắn, nếu có thể, nhưng có thể bạn muốn trình duyệt để đi toàn diện chuyển hướng (một truy cập có thể).

6

Đó là OK nếu mã thực sự phản ánh hiện thực - ví dụ, nếu một hình ảnh đã thực sự chuyển permanenetly, bạn nên sử dụng một 301.

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