Buffer.alloc(n)cấp phát n byte và ghi 0 toàn bộ vùng nhớ.Buffer.allocUnsafe(n)cấp phát n byte nhưng không khởi tạo — nội dung là phần bộ nhớ vừa được giải phóng trước đó, có thể còn dữ liệu cũ của tiến trình.Buffer.from(...)tạo buffer từ dữ liệu có sẵn: chuỗi, mảng byte, hoặcArrayBuffer.
js
const safe = Buffer.alloc(8) // <Buffer 00 00 00 00 00 00 00 00>
const fast = Buffer.allocUnsafe(8) // contents are unknown, may be leftover data
const data = Buffer.from('hi', 'utf8')Rủi ro: nếu bạn allocUnsafe rồi chỉ ghi đè một phần và gửi cả buffer ra ngoài (response HTTP, ghi file), phần chưa ghi có thể mang dữ liệu của request khác — đây là kiểu lộ dữ liệu đã từng xảy ra trong thực tế.
Quy tắc dùng: mặc định dùng Buffer.alloc. Chỉ dùng allocUnsafe khi bạn ghi đè toàn bộ buffer ngay lập tức (vd đọc đúng n byte từ socket vào rồi mới dùng) và đã đo được rằng việc zero-fill là điểm nghẽn.