E-Zine Exclusivo para o Whastapp

JSON – O que é payload?

restjson JSON - O que é payload?
foto_ramos JSON - O que é payload?

Ramos de Souza Janones

Janones, é um empreendedor brasileiro apaixonado por empreendedorismo e tecnologia. Ao longo dos anos trabalhando com o desenvolvimento de softwares desktop desde a linguagem Clipper, passando pelo Delphi e atualmente com Java.

Optou pela formação de Publicidade e Marketing por sua segunda empresa de tecnologia ter participado do "boom" da internet nos anos 90 e na procura de melhorar seus conhecimentos em negócios.

Em razão da principal formação e profundos conhecimentos em programação e banco de dados, é capaz de realizar o desenvolvimento de aplicativos web, desktop e mobile com maior criatividade e inovação que profissionais de desenvolvimento com uma formação única e mais especifica, dedicada somente ao desenvolvimento de softwares.

Com toda sua experiência com empresas de software, sua formação e paixão por negócios escreveu o livro "Marketing para Empresas e Profissionais de Software", publicado pela editora carioca Ciência Moderna em 2012. Além de outros livros sobre programação.
foto_ramos JSON - O que é payload?

Em termos gerais, o payload (“carga”, em português) é o conteúdo enviado por um meio de transporte, ou carrier. Alguns exemplos:

  • O conteúdo HTML é o payload enviado via protocolo HTTP;
  • O conteúdo JSON é o payload enviado via protocolo HTTP a partir do endpoint REST*;
  • O conteúdo XML é o payload enviado via protocolo HTTP a partir do endpoint SOAP*.

Em algumas terminologias o carrier é também chamado de envelope.

*Apenas para fins de exemplo. Endpoints REST e SOAP podem gerar payloads em outros formatos.

Payload em termos de hacking é um script que é injetado em um sistema através de alguma falha e depois é executado como uma espécie de administração remota.

Em HTTP o payload body pode ser um JSON, o que é bastante comum nas APIs REST atualmente. Mas também pode ser um XML, um dicionário chave-valor dos campos de um formulário HTML, o próprio HTML de uma página, ou qualquer outra coisa. Veja que o “payload header fields”, por sua vez, embora também chamado de “payload” na futura RFC, não pode conter JSON, ou não deveria sob pena de causar uma bela bagunça no header e fugir do padrão e da proposta do header.

Seria o dado que realmente interessa sem metadados, sem o cabeçalho de transmissão ou outras informações acessórias usadas apenas como infraestrutura para transmitir o que importa. Então ele é o corpo da informação, é o que é útil de tudo o que está sendo transmitido.

A tradução literal “carga que paga” poderia ser chamada de “conteúdo que vale a pena”.

O significado pode ser diferente em outros contextos, mesmo da computação.

Exemplo de pacote TCP (não achei um bom de HTTP, mas a ideia é parecida). O Data (verdinho) é o payload:

payload1-350x282 JSON - O que é payload?

Em outra pergunta tem um diagrama mostrando as várias camadas de comunicação e todas possuem cabeçalhos que vão sendo adicionados em cada camada e a parte de “dados”, que é o tal do payload. Se o payload for muito pequeno o overhead dos cabeçalhos de todas camadas se torna um fardo. Você pode ter algum controle sobre o tamanho do payload em camada alta, mas nas mais baixas o controle vai ficando menor, payloads muito grandes tendem ser fatiados antes de serem transmitidos.

O payload não tem formato de texto ou binário. O fato de ser JSON é apenas circunstancial. Em HTTP ele até é um texto por imposição do protocolo, mas pode ser o THML, CSS, JS, texto bruto, binário codificado em base64, etc.

 

 

 

Top
%d blogueiros gostam disto: