Geral
Infraestrutura para Sistemas de Software
Semana 5
0

Questão

REST e SOAP são duas abordagens diferentes que definem como os clientes acessam determinado serviço e como é feita a   transmissão de dados online nas arquiteturas baseadas em serviço. Elas definem de forma específica como as interfaces de programação de aplicações (APIs) são criadas, o que possibilita a comunicação dos dados entre aplicações web. A transferência de estado representacional (representational state transfer, REST) é um conjunto de princípios de arquitetura. Quanto são desenvolvidas aplicações na web que possuem uma interface uniforme, em geral, pode ser usada a abordagem REST. 

Assinale a alternativa que traz características do uso da abordagem REST.

A)

Como se trata de um protocolo, há regras integradas que aumentam sua complexidade e sobrecarga, desacelerando o tempo de carregamento das páginas .

B)

Há um comportamento previsível pelo fato de se utilizar operações nativas do protocolo HTTP, como os métodos GET, POST, PUT e DELETE.

C)

É obrigatório o uso da linguagem XML.

D)

Tem o protocolo TCP e faz uso de fibras ópticas para transportar as mensagens trocadas entre as aplicações.

E)

É possível a duplicação de mensagens, o que diminui o risco de que elas se percam.

function vote(questaoId, value) { window.location.href = "/accounts/login/?next=/questao/1339/"; return; fetch(`/vote/questao/${questaoId}/`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRFToken': 'WkKEQUwOP3OV92blIAw2zaesL4aXijv0QaXW5tvoGysS2ptFPkcjq3iJ5biMilTU' }, body: JSON.stringify({ value: value }) }) .then(response => response.json()) .then(data => { if (data.success) { document.getElementById(`score-${questaoId}`).textContent = data.score; const upBtn = document.querySelector(`button[onclick="vote(${questaoId}, 1)"]`); const downBtn = document.querySelector(`button[onclick="vote(${questaoId}, -1)"]`); upBtn.classList.remove('active-up'); downBtn.classList.remove('active-down'); if (data.user_vote === 1) upBtn.classList.add('active-up'); if (data.user_vote === -1) downBtn.classList.add('active-down'); } }); }