Qual é a diferença de nível de pacote entre um XMLHttpRequest e uma solicitação HTTP regular?
-
06-07-2019 - |
Pergunta
Eu estou querendo saber: se eu fosse aa router, pacote inspector, firewall ou outro dispositivo farejador de pacotes (que eu estou feliz que eu não sou) eu seria capaz de dizer a diferença entre um pedido e HTTP tradicional um XMLHttpRequest? Menos teoricamente, é possível que alguns ISP ou (digamos) provedor de dados de telefone celular poderia restringir XMLHttpRequest tráfego sem interromper o serviço HTTP?
Graças.
Solução
Não há nada no nível do pacote para distingui-los, porque e XMLHttpRequest é uma solicitação HTTP. O bit XML refere-se ao fato de que, se a resposta é de um xml Content-Type, em seguida, o método responseXML irá retornar um objeto DOM.
Outras dicas
Para o melhor de meu conhecimento, não há nenhuma diferença fundamental -. Então, do ponto de vista de um roteador etc. você não pode dizer em geral
Mas eu acredito que a maioria dos kits de ferramentas JavaScript populares irá adicionar um cabeçalho HTTP aos seus XMLHttpRequest
s para identificá-los como tal. I esquecer o nome, embora ...
Editar : Aqui de um exemplo (top Google bateu para "cabeçalho jquery xmlhttprequest", sem aspas), que mostra que jQuery aparentemente define X-Requested-With
para "XMLHttpRequest
".
no pacote, rede, níveis de sessão: Não.
a nível da aplicação, ou seja, com um dispositivo específico do HTTP como um proxy de filtragem, talvez.
i iria verificar os cabeçalhos de solicitação HTTP. eles podem (apenas pode ) têm algumas diferenças. mas eu tenho certeza que qualquer diferença haveria específica navegador muito, e muito provavelmente o código JavaScript direito poderia inserir os cabeçalhos apropriados para torná-lo totalmente indistinguíveis.
Em suma: verificar os cabeçalhos HTTP; mas não espere que ele seja geral, muito menos útil.