Tại sao các file CSS, JS trong WordPress thường đính kèm phiên bản (query string)

Khi bạn bật mã nguồn của trang web WordPress lên, bạn sẽ thấy thông tin kiểu như thế này:

plugins/drop-shadow-boxes/block/blocks.style.build.css?ver=1.7.3

hoặc

plugins/table-of-contents-plus/front.min.js?ver=2002

Bạn có để ý đến phần bôi đậm chỉ đến phiên bản 1.7.3 và 2002 của chúng. Chúng cho ta biết rằng CSS & JS này là của plugin với phiên bản tương ứng. Nhưng mục đích của nó không chỉ có như vậy.

Mục đích chính trong việc chỉ rõ phiên bản ở trên là tránh cache phía trình duyệt– tức là tránh trình duyệt sử dụng lại phiên bản cũ các file CSS, JS của plugin, mà sẽ dùng phiên bản mới nhất.

Bởi nếu dùng các phiên bản cũ hơn, trang web có khả năng cao sẽ gặp vấn đề về hiển thị hoặc chức năng.

Cũng vậy, các plugin cache như LiteSpeed cache, FlyingPress, WP-Roket, khi tổng hợp CSS, JS thường thêm một chuỗi số đằng sau, ví dụ:

wp-content/litespeed/cssjs/1c96b.css?27522

Không chỉ thay đổi tên, LiteSpeed còn cẩn thận thêm chuỗi số 27522 đằng sau để tránh hoàn toàn việc cache CSS cũ ảnh hưởng đến trang web khi nó cập nhật nội dung.

Tuy nhiên chúng ta cũng bắt gặp các file .js từ bên thứ ba không có các version này, chẳng hạn như:

/pagead/js/adsbygoogle.js

Ví dụ trên là file .js của Google. Sở dĩ như vậy là vì các file .js này thuộc sở hữu của bên thứ ba, và các cài đặt về thời gian cache của bạn không ảnh hưởng đến họ. Bên thứ ba mới có quyền quyết định thời gian cache các file của họ bao lâu- trường hợp này là Google.

Họ thiết lập thời gian cache trình duyệt rất ngắn cho file trên:

thời gian cache trình duyệt một file JS của bên thứ ba

Xin chào, và hẹn gặp lại các bạn trong bài viết khác.

Leave a Comment