- REST: nhiều endpoint theo tài nguyên, thường trả JSON trên HTTP (không phụ thuộc phiên bản HTTP cụ thể). Đơn giản, cache HTTP tốt, phổ biến rộng rãi. Điểm yếu: hay over-fetch/under-fetch (trả dư hoặc thiếu field, phải gọi nhiều lần).
- GraphQL: một endpoint, client tự khai báo cần đúng field nào → loại bỏ over/under-fetch, hợp UI phức tạp/nhiều nguồn. Đổi lại: khó cache HTTP, dễ query nặng, cần chống N+1 phía server.
- gRPC: RPC nhị phân trên HTTP/2 + Protocol Buffers, có contract chặt và streaming hai chiều. Nhanh, nhẹ, hợp giao tiếp service-to-service nội bộ; nhưng browser gọi trực tiếp khó, payload nhị phân khó kiểm tra trực tiếp.
So sánh REST, GraphQL và gRPC — khi nào chọn cái nào?
Xem toàn bộ Backend Essentials cùng filter theo level & chủ đề con.
Mở danh sách Backend Essentials