Tại sao NGINX cung cấp chức năng SSI được ghi lại khác, nhưng không phải LAST_MODIFIED trong tiêu đề?
Bởi vì nginx vẫn chưa triển khai đầy đủ SSI. trích dẫn các tài liệu:
Hiện tại, danh sách các lệnh SSI được hỗ trợ chưa đầy đủ.
Để biết danh sách các lệnh và biến SSI được hỗ trợ, hãy kiểm tra nguồn của nginx đây.
Chỉnh sửa:
Nếu muốn hỗ trợ đầy đủ SSI, hãy thử sử dụng Apache httpd phía sau nginx.
theo tài liệu NGIX (sic) (xem liên kết trong bài đăng của tôi)
Đây là trích dẫn trực tiếp từ ssi_last_modified
tài liệu khoảng ngày 21 tháng 7 năm 2021:
Cho phép bảo quản Sửa đổi lần cuối
trường tiêu đề từ phản hồi ban đầu trong quá trình xử lý SSI để tạo điều kiện cho bộ nhớ đệm phản hồi.
Theo mặc định, trường tiêu đề bị xóa do nội dung của phản hồi được sửa đổi trong quá trình xử lý và có thể chứa các phần tử hoặc phần được tạo động được thay đổi độc lập với phản hồi ban đầu.
Theo mặc định, khi phản hồi yêu cầu đối với tệp tĩnh, nginx sẽ thêm Sửa đổi lần cuối
Tiêu đề phản hồi HTTP.
Khi sử dụng SSI, nginx cố tình xóa tiêu đề này vì nginx đang tạo trang năng động thay vì trả về một tệp tĩnh, do đó thêm một Sửa đổi lần cuối
tiêu đề phản hồi là vô nghĩa.
ssi_last_modified
bổ sung lại chỉ thị Sửa đổi lần cuối
Tiêu đề phản hồi HTTP theo dấu thời gian của tệp tập lệnh SSI.
Không có cách nào nó nói rằng chỉ thị này thêm SỬA ĐỔI LẦN CUỐI
biến thành SSI của nginx.
SỬA ĐỔI LẦN CUỐI
vẫn nên được hỗ trợ
AFAIK, không có tiêu chuẩn hay RFC nào có thể dựa vào để triển khai đầy đủ SSI. Được cho là, tài liệu vào mod_include có thể là tiêu chuẩn như vậy, nhưng một lần nữa, nó chỉ là hướng dẫn sử dụng cho một sản phẩm khác. Hãy cho tôi biết nếu có tiêu chuẩn như vậy và tôi sẽ sửa đổi câu trả lời này.
Bạn sẽ có cơ hội giải quyết vấn đề này tốt hơn bằng cách gửi yêu cầu tính năng tới Trac của nginx.
Tangent: ngay cả khi nó được hỗ trợ, nếu bạn thêm SỬA ĐỔI LẦN CUỐI
, nếu giá trị của nó là dấu thời gian của tập lệnh SSI hoặc dấu thời gian của máy chủ; vì phản hồi HTML được tạo nhanh chóng thay vì đọc trực tiếp từ tệp.
Đây là dành cho các trang web cũ mà tôi đã chuyển sang NGINX từ Apache. Một số trang web lớn vẫn sử dụng SSI và đó là cách tiếp cận nhẹ nhàng hữu ích, tránh PHP, v.v.
Tôi nghi ngờ những trang web lớn đó vẫn sử dụng SSI ở hậu trường. Tại thời điểm này, SSI là một khung kế thừa với rất nhiều lựa chọn thay thế có sẵn.