Resumo
- O Observe oferece uma relação eficiente de estado atual para recursos CoAP, com entrega de melhor esforço e consistência eventual, sem prometer cada estado intermediário.
- O valor de 24 bits, a condição de 128 segundos e Max-Age ordenam e limitam o uso da representação; não criam histórico durável nem repetição por posição.
- Sistemas que dormem por longos períodos precisam tornar o estado desconhecido explícito e escolher fila, log ou confirmação de aplicação quando toda transição tiver valor operacional.
A economia começa em um GET estendido
O cliente envia GET com Observe igual a zero e um token. Se a resposta 2.xx também trouxer Observe, o servidor criou uma entrada de observador identificada pelo ponto final e token. As próximas notificações são respostas adicionais à solicitação original. Se o servidor não puder ou não quiser manter a entrada, responde como GET comum sem Observe; a ausência informa ao cliente que será necessário consultar de novo.
Em redes de rádio, não perguntar repetidamente por um valor que não mudou reduz tempo de transmissão, energia e processamento. Intermediários podem agregar interesse de vários clientes. O desenho mantém cache e recursos REST, em vez de importar toda a complexidade de uma rede geral de publicação e assinatura.
O limite vem junto. A RFC usa melhor esforço e consistência eventual. Se o recurso parar de mudar, observadores registrados devem convergir para a representação atual. Quando as mudanças superam a capacidade do enlace ou há congestionamento, o servidor pode pular qualquer número de estados intermediários. Observe transporta o presente suficiente; não conserva automaticamente o passado.
O número dá ordem, não contagem de eventos
Cada notificação bem-sucedida repete o token e leva um valor Observe. O servidor usa os 24 bits inferiores de uma sequência estritamente crescente. O cliente compara valores por aritmética serial, reconhecendo a volta ao zero sem inverter o tempo.
Após mais de 128 segundos desde a recepção da representação mais fresca, uma nova notificação pode ser considerada mais recente sem a comparação dos valores. A regra evita ambiguidade depois de silêncio longo. Ela usa tempo local de chegada, não o instante físico do evento. Também não diz quantas representações foram omitidas.
O servidor não pode avançar mais de metade do espaço de 24 bits em menos de 256 segundos. Essa restrição protege a comparação. Não garante persistência em reinício, restauração de token nem explicação de um buraco de rádio. Essas propriedades pertencem à implementação e precisam de testes.
Max-Age não inventa uma leitura
Max-Age define por quanto tempo a diferença entre o estado observado e o real é aceitável. Depois do vencimento, o cliente não pode presumir que a representação ainda é atual. Pode atualizar ou registrar novamente com o mesmo token.
Vencimento não prova mudança, perda de pacote ou falha. Para a aplicação, o valor vira desconhecido. Manter o comando anterior, parar em segurança, continuar em modo degradado ou pedir decisão humana são políticas do proprietário. A RFC não escolhe entre elas.
Nem um ACK preenche o período de sono. Notificações podem ser confirmáveis ou não confirmáveis. A confirmação diz que aquele pacote CoAP chegou; não certifica que todo estado anterior foi enviado ou armazenado.
Cancelamento também pode dormir na rede
O cliente pode esquecer uma observação e depois rejeitar uma notificação confirmável com token desconhecido usando Reset. Também pode enviar GET com o mesmo token e Observe igual a um para cancelar. Reset e pedido de cancelamento podem se perder. O servidor pode continuar mantendo a entrada quando o cliente já a apagou.
Notificações confirmáveis e timeouts ajudam o servidor a coletar observadores abandonados. Quando cada despertar de rádio custa energia ou privacidade, a interface precisa mostrar se o cancelamento chegou e aplicar repetição limitada.
O proxy troca largura de banda por uma fronteira de evidência
Um intermediário pode manter uma observação para vários clientes e distribuir as respostas. Cada salto gera seus próprios valores Observe, escolhe tipo de mensagem e define Max-Age conforme sua representação local. Isso alivia o servidor de origem, mas o cliente passa a conhecer o presente do proxy.
O comportamento é permitido. A prestação de contas exige registrar se a representação veio de notificação direta, cache validado, atualização ou novo registro. Sem essa informação, reinício e agregação viram continuidade aparente.
Briefing para membros
Contexto aprofundado do perfil
Faça login com o nível de assinatura correto para desbloquear o briefing completo e as notas das fontes.
Apenas para Strategic Circle
Strategic Circle
Aberto a todos os leitores. Desbloqueie Briefings de perfil após se inscrever e fazer login.
Junte-se ao Strategic CircleSomente para Leadership Alliance
Leadership Alliance
Para proprietários e gestores qualificados de ativos de PI; faça login para desbloquear os briefings da Leadership Alliance.
Junte-se ao Leadership Alliance
