Thuật ngữ Pay Payload có nghĩa là gì trong lập trình


101

Tôi đã xem qua mã nguồn của khung công tác nguồn mở, nơi tôi thấy một "tải trọng" biến được đề cập nhiều lần. Bất kỳ ý tưởng "tải trọng" là viết tắt của?

Câu trả lời:


193

Thuật ngữ 'tải trọng' được sử dụng để phân biệt giữa thông tin 'thú vị' trong một khối dữ liệu hoặc tương tự và chi phí chung để hỗ trợ thông tin đó. Nó được mượn từ phương tiện giao thông, trong đó đề cập đến một phần của tải trọng 'trả': ví dụ, một chiếc xe tải chở dầu có thể chở 20 tấn dầu, nhưng chiếc xe được nạp đầy đủ nặng hơn thế - có chính chiếc xe đó, tài xế, nhiên liệu, xe tăng, v.v ... Chi phí để di chuyển tất cả những thứ này, nhưng khách hàng chỉ quan tâm (và trả tiền) dầu, do đó, 'trả tiền'.

Trong lập trình, cách sử dụng phổ biến nhất của thuật ngữ này là trong ngữ cảnh của các giao thức tin nhắn, để phân biệt chi phí giao thức với dữ liệu thực tế. Lấy ví dụ, một phản hồi dịch vụ web JSON có thể trông như thế này (được định dạng để dễ đọc):

{
    "status":"OK",
    "data":
        {
            "message":"Hello, world!"
        }
}

Trong ví dụ này, chuỗi Hello, world!là tải trọng, phần mà người nhận quan tâm; phần còn lại, trong khi thông tin quan trọng, là giao thức.

Một cách sử dụng đáng chú ý khác của thuật ngữ là trong phần mềm độc hại. Phần mềm độc hại thường có hai mục tiêu: tự phát tán và thực hiện một số loại sửa đổi trên hệ thống đích (xóa tệp, thỏa hiệp bảo mật hệ thống, gọi về nhà, v.v.). Phần lây lan là chi phí chung, trong khi mã thực hiện hành vi xấu xa thực sự là tải trọng.


20
ồ Cảm ơn rất nhiều cho một lời giải thích tuyệt vời như vậy. :)
Vishwas G

Giải thích hay ... tks = D
rizidoro

2
Lời giải thích của bạn đánh trúng bullseye.
Pushya

Giải thích tuyệt vời - đã học được điều gì đó mới hôm nay!
Roland Tepp

Không phải là tốt để khai báo biến có tên string jsonPayLoad = " ";thay vì string json = " ";trong WebHookđó nhận Jsondữ liệu được định dạng?
stom

9

Tôi đã gặp hai ý nghĩa Payloadcho đến nay:

1) Dữ liệu cần thiết đang được mang trong một gói hoặc đơn vị truyền khác. Tải trọng không bao gồm dữ liệu "phí" cần thiết để đưa gói đến đích. Lưu ý rằng những gì cấu thành tải trọng có thể phụ thuộc vào quan điểm. Đối với một lớp truyền thông cần một số dữ liệu trên cao để thực hiện công việc của mình, tải trọng đôi khi được coi là bao gồm một phần của dữ liệu trên cao mà lớp này xử lý. Tuy nhiên, trong sử dụng chung hơn, tải trọng là các bit được phân phối cho người dùng cuối tại đích.

2) Hiệu ứng cuối cùng của virus phần mềm đã được gửi đến máy tính của người dùng.


Sry! .. nhưng ý nghĩa chính xác của dữ liệu "trên không" là gì? Và btw, tôi chủ yếu thấy việc sử dụng "tải trọng" đang được thực hiện trong việc gửi sự kiện và nó đang diễn ra.
Vishwas G

4
Khung / chi phí sẽ là những thứ được bọc xung quanh trọng tải để đưa nó đến nơi cần đến, được dán nhãn là những gì nó cần được xác định là. Bạn có thể đối chiếu nó với một yêu cầu web, dẫn đến một loạt các tiêu đề xác định những thứ về trang thực tế như mã hóa, kích thước, định dạng, v.v. Tải trọng là trang thực tế, xuất hiện sau các tiêu đề cho phép người nhận hiểu ý nghĩa của nó.
Lars Viklund
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.