Co oznacza termin „ładowność” w programowaniu

101

Przeglądałem kod źródłowy frameworka open source, w którym wielokrotnie widziałem zmienną „ładowność”. Wszelkie pomysły, co oznacza „ładowność”?

Vishwas G.
źródło

Odpowiedzi:

193

Termin „ładunek” służy do rozróżnienia między „interesującą” informacją w kawałku danych lub podobnym materiale, a kosztem obsługi w celu ich obsługi. Jest zapożyczony z transportu, gdzie odnosi się do części, która „płaci”: na przykład cysterna może przewozić 20 ton oleju, ale w pełni załadowany pojazd waży znacznie więcej - jest to sam pojazd, kierowca, paliwo, zbiornik itp. Przeniesienie tych wszystkich kosztuje, ale klientowi zależy tylko na oleju (i za nie płaci), stąd „ładunek”.

W programowaniu najczęstsze użycie tego terminu jest w kontekście protokołów wiadomości w celu odróżnienia narzutu protokołu od rzeczywistych danych. Weźmy na przykład odpowiedź usługi internetowej JSON, która może wyglądać tak (sformatowana pod kątem czytelności):

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

W tym przykładzie ciąg znaków Hello, world!to ładunek, część, którą interesuje odbiorca; reszta, mimo że istotną informacją, jest narzut protokołu.

Innym znaczącym zastosowaniem tego terminu jest złośliwe oprogramowanie. Złośliwe oprogramowanie zwykle ma dwa cele: rozprzestrzenianie się i przeprowadzanie pewnego rodzaju modyfikacji w systemie docelowym (usuwanie plików, narażanie bezpieczeństwa systemu, dzwonienie do domu itp.). Część rozprzestrzeniająca się jest narzutem, podczas gdy kod, który faktycznie czyni złego, jest ładunkiem.

tdammers
źródło
20
łał! Wielkie dzięki za tak świetne wytłumaczenie. :)
Vishwas G
Ładne wyjaśnienie ... tks = D
rizidoro
2
Twoje wyjaśnienie uderza w dziesiątkę.
pushya,
Świetne wyjaśnienie - nauczyłem się dziś czegoś nowego!
Roland Tepp
Czy nie jest dobrze deklarować zmienną o nazwie as string jsonPayLoad = " ";zamiast string json = " ";w WebHookktórej odbiera Jsonsformatowane dane?
stom
9

Do tej pory poznałem dwa znaczenia Payload:

1) Niezbędne dane, które są przenoszone w pakiecie lub innej jednostce transmisji. Ładunek nie obejmuje danych „ogólnych” wymaganych do doprowadzenia pakietu do miejsca docelowego. Należy pamiętać, że to, co stanowi ładunek, może zależeć od punktu widzenia. W przypadku warstwy komunikacyjnej, która potrzebuje niektórych danych ogólnych, aby wykonać swoje zadanie, ładunek czasami uważa się za obejmujący część danych ogólnych, które obsługuje ta warstwa. Jednak w bardziej ogólnym użyciu, ładunek to bity, które są dostarczane do użytkownika końcowego w miejscu docelowym.

2) Ostateczny efekt wirusa programowego dostarczonego na komputer użytkownika.

EL Yusubov
źródło
Sry! .. ale co dokładnie rozumiesz przez „ogólne” dane? A tak przy okazji, najczęściej widzę, że użycie „ładunku” odbywa się podczas wysyłania zdarzeń i ich przepływu.
Vishwas G
4
Ramki / koszty ogólne to rzeczy, które są owinięte wokół ładunku, aby dostać się tam, gdzie trzeba, oznaczone jako to, co należy zidentyfikować. Można to porównać z żądaniem internetowym, w wyniku czego powstaje kilka nagłówków, które identyfikują rzeczywiste strony, takie jak kodowanie, rozmiar, format i tak dalej. Ładunek to rzeczywista strona, która pojawia się po nagłówkach, co umożliwia odbiorcy zrozumienie jej.
Lars Viklund,