Sử dụng CDN để giảm tải cho Server
Câu chuyện bắt đầu Gần đây, tôi có tham dự một lớp học Rails của các sinh viên năm thứ 4 ngành công nghệ thông tin. Trong buổi học đó, sinh viên tìm hiểu về thư viện Bootstrap của Twitter. Có 2 cách để import thư viện vào trong trang web, 1 là sử dụng 1 đường link ở "tận đẩu tận đâu" như thế này. ...
Câu chuyện bắt đầu
Gần đây, tôi có tham dự một lớp học Rails của các sinh viên năm thứ 4 ngành công nghệ thông tin. Trong buổi học đó, sinh viên tìm hiểu về thư viện Bootstrap của Twitter. Có 2 cách để import thư viện vào trong trang web, 1 là sử dụng 1 đường link ở "tận đẩu tận đâu" như thế này.
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"/>
2 là lên trang chủ của Bootstrap, download về server của mình rồi import file từ chính server của mình
<link rel="stylesheet" type="text/css" href="/css/bootstrap.min.css"/>
Khi tôi hỏi so sánh hai cách làm, cách nào hay hơn, thì hầu hết các sinh viên đều cho rằng cách thứ 2 hay hơn, lý do là vì nó: "Nhanh hơn?", "Cùng server mình thì chỉ gửi request 1 lần là xong" @@
Lý do thứ 2 chắc chắn sai, vì request đầu tiên sẽ nhận về file HTML, trình duyệt sẽ xử lý file đó và tìm các link để tiếp tục gửi request, trong trường hợp này thì tối thiểu là 2 request, trong đó request thứ hai để lấy về file CSS. Vậy còn lý dó thứ nhất "Nhanh hơn?". Liệu có đúng? Có phải vì cùng server trả về file HTML nên mình cho rằng nó sẽ "nhanh"?
Câu trả lời trong hầu hết các trường hợp là "không"! (Chỉ hầu hết thôi nhé...