Trong khi đánh giá hiệu quả của các khuôn khổ PHP Tôi đã xem qua một vấn đề lạPerformance text/html vs application/json
Gửi một JSON như application/json
có vẻ là chậm hơn nhiều so với gửi không có tiêu đề phụ (mà dường như để dự phòng text/html
)
Ví dụ # 1 (application/json)
header('Content-Type: application/json');
echo json_encode($data);
Ví dụ # 2 (text/html)
echo json_encode($data);
thử nghiệm với băng ghế dự bị apache (ab -c10 -n1000
) mang lại cho tôi:
Ví dụ # 1: 350 #/giây
Ví dụ # 2: 440 #/giây
đó cho thấy rằng thiết lập các tiêu đề phụ dường như chậm hơn một chút.
Nhưng:
Lấy JSONs cùng qua "ajax" (jQuery.getJSON('url', function(j){console.log(j)});
) nên sự khác biệt rất lớn (thời gian như đã thấy trong Chrome Web Inspector):
Ví dụ # 1: 340 ms/yêu cầu
Ví dụ # 2: 980 ms/yêu cầu
Whats vấn đề của sự khác biệt này?
Có lý do nào để sử dụng ứng dụng/json bất chấp sự khác biệt về hiệu suất không?
Nó có tạo sự khác biệt nếu bạn chạy 'ob_start();' trước khi đặt tiêu đề? – mkaatman
một chút, nhưng sự khác biệt là giống nhau – stwagner
Nếu không có nhìn vào mã nguồn, tôi không nghĩ rằng jQuery.getJSON quan tâm đến kiểu nội dung, phải không? – stwagner