Nghi thức chào đón bằng bắn đại bác có thể bắt nguồn từ thế kỷ 14 hoặc đầu thế kỷ 17. Khi chiến hạm của một nước tiến vào cảng của một nước khác thì các khẩu pháo trên chiến hạm phải bắn hết đạn. Vì chiến hạm không có đủ thời gian để nạp lại đạn, đây là cách thể hiện thiện chí và chứng tỏ mình không có ý định thù địch.
Theo trang About.com, dẫn thông tin từ Trung tâm Quân đội về Lịch sử Quân sự Mỹ, theo truyền thống, khi một tàu Anh cập cảng nước ngoài, nó sẽ nổ súng 7 lần. Lý do cho con số 7 này vẫn còn là đề tài được tranh luận rộng rãi cho đến ngày nay. Một giả thiết cho rằng phần lớn các tàu chiến Anh vào thời điểm này chỉ có 7 khẩu súng, và vì vậy, bắn 7 phát trở thành tiêu chuẩn để báo hiệu với những người trên bờ rằng tàu đã bắn hết đạn.
Có những cách giải thích số 7 khác liên quan đến chiêm tinh và Kinh Thánh. 7 hành tinh được xác định và tuần trăng thay đổi sau mỗi 7 ngày. Kinh Thánh nói rằng Thiên Chúa nghỉ ngơi vào ngày thứ 7 sau khi tạo ra thế giới, vì vậy, khi chọn số 7, người ta có thể ám chỉ con tàu về cảng nghỉ sau một chuyến đi dài.
Vào thời điểm đó, thuốc súng làm từ natri nitrat nên dễ giữ khô trên đất liền hơn trên biển, lực lượng trên bờ cũng sẽ có nguồn cung thuốc súng lớn hơn. Vì vậy, mặc dù tàu chỉ bắn 7 phát, đội pháo trên đất liền của chủ nhà sẽ đáp lại bằng cách bắn ba phát ứng với mỗi phát đại bác từ tàu chiến. Do vậy số lượng phát đạn mà đại bác trên bờ bắn là 3x7=21. Con số 3 có thể được lựa chọn vì nó được coi là có ý nghĩa thần bí trong nhiều nền văn minh cổ đại.
Việc chọn số lẻ được cho là bắt nguồn từ quan chức hải quân Anh Samuel Pepys như một cách để tiết kiệm thuốc súng. Ngoài ra, theo một số quan niệm lịch sử và vùng miền, số lẻ cũng thường được coi là may mắn, còn số chẵn được coi là xui xẻo. Thực tế, từng có thời gian số phát bắn chẵn được dùng để báo hiệu thuyền trưởng đã chết khi trở về từ chuyến đi.
Sau này, khi có nhiều tàu lớn hơn, chất lượng thuốc súng được nâng cao bằng việc sử dụng kali nitrat, tàu ngoài biển có thể thực hiện bắn 21 phát đại bác.
Sau đó, việc bắn 21 phát đại bác dần được coi là nghi thức chào đón chính thức, hơn là một cách tượng trưng để thể hiện không có ý định thù địch. Điều này dường như bắt đầu vào khoảng năm 1730, khi hải quân Anh cho phép tàu và thuyền trưởng thực hiện bắn 21 phát đại bác như một cách để tôn vinh các thành viên Hoàng gia Anh vào một số lễ kỷ niệm. Khoảng 80 năm sau, vào năm 1808, việc bắn 21 phát đại bác chính thức trở thành tiêu chuẩn để tôn vinh hoàng tộc.
Tại Mỹ, nghi thức bắn đại bác có nhiều sự thay đổi trong các năm. Năm 1810, Bộ Chiến tranh Mỹ quy định số lượng phát bắn trong nghi thức "chào đón quốc gia" phải bằng số lượng bang, vào thời điểm đó là 17. Tổng thống Mỹ cũng được nhận số phát đại bác chào đón bằng số bang của nước Mỹ mỗi khi ông đến thăm các đơn vị quân đội. Năm 1818, hải quân Mỹ đưa ra quy định "khi tổng thống thăm một tàu của hải quân Mỹ, ông phải được chào đón bằng 21 phát súng" (số bang nước Mỹ lúc đó là 21).
Năm 1875, Anh đề nghị Mỹ cùng nhau thực hiện nghi thức bắn 21 phát đại bác để chào đón khi quan chức cao cấp hai bên đến thăm lẫn nhau. Mỹ đã đồng ý vào ngày 18/8 năm này.
Ngày nay, việc bắn 21 phát đại bác đã trở thành nghi thức chào đón cao nhất, dùng để chào mừng nguyên thủ quốc gia, hoặc người đứng đầu chính phủ trong một số trường hợp đặc biệt. Trong các trường hợp khác, số lượng phát bắn có thể giảm, tùy theo cấp bậc của người được nhận vinh dự này.
Ông Tập Cận Bình hôm nay bắt đầu chuyến thăm nhà nước Việt Nam với tư cách là tổng bí thư đảng Cộng sản Trung Quốc và chủ tịch Trung Quốc. Hà Nội dự kiến bắn 21 phát đại bác để chào đón ông.