"Kết nối trước" với preconnect, prefetch để làm gì?

Khang Ng
3 năm trước · 3 phút đọc
Đọc bài viết này để làm cái chi
- Tìm hiểu công dụng của
reltrong thẻlink - Biết được cách làm cho website trông có vẻ "nhanh hơn"
Công năng của thẻ link khi có thêm rel
Ở đây chắc hẳn ai cũng từng dùng google fonts để nhúng fonts vào html rồi nhễ
Có bạn nào thắc mắc thẻ rel="preconnect" trong trường hợp này dùng để làm gì không?
Thì câu trả lời là nó để "kết nối trước", từ này có vẻ hơi khó hiểu nhỉ. Ok, để mình giải thích thêm cho các bạn hiểu rõ hơn
- Khi bạn biết mình sẽ sớm cần một tài nguyên từ 1 URL nào đó (trong trường hợp này là từ https://fonts.googleapis.com và https://fonts.gstatic.com để lấy các font), nhưng bạn chưa biết url đầy đủ của nó (url đầy đủ của nó là: https://fonts.googleapis.com/css2?family=Roboto:wght@500;700&display=swap)
- Thì lúc này
HTMLsẽ tới trang web lấy font về cho chúng ta trước khi dòng này được gọi<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@500;700&display=swap" rel="stylesheet"> - Ưu điểm: Dùng cách này tốc độ lấy tài nguyên từ 1 trang web bên thứ 3 về sẽ nhanh hơn 1 tẹo
- Nhược điểm: Song, có ưu thì cũng phải có nhược. Việc thiết lập và duy trì kết nối mở này rất tốn kém – cho cả máy khách và máy chủ. Vì vậy, lời khuyên của mình là các bạn chỉ nên sd cách tiếp cận này cho từ 4-6 trang web bên thứ 3 là hợp lí rồi.
Ngoài preconnect, chúng ta còn có các thuộc tính sau đây
- Mình chỉ liệt kê các case hay gặp, các bạn có thể tham khảo ở link này để tìm hiểu thêm nhé MDN
Bye~~
