Respostas:
Eu acho que a única diferença é a User-Agent:
cabeçalho da solicitação.
Aqui estão os cabeçalhos do User-Agent enviados pelo Chrome em meu dispositivo Android:
Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.45 Safari/535.19
Observe a palavra "Mobile" no primeiro, e também a menção do sistema e dispositivo Android. Verificando isso, vejo que também fornece informações falsas - a saber X11 e x86_64 - para coincidir com o valor enviado pela versão Desktop Linux do Cromada.
Queria apenas salientar que o Chrome agora não apenas altera, User-Agent
mas também ignora a meta tag da janela de visualização original se você "Solicitar site da área de trabalho". Assim, não será mais necessário farejar o User-Agent
e você pode contar com a mudança da janela de visualização, como a maioria dos sites responsivos fazem automaticamente. Veja esta alteração para mais referências.
Uma outra pequena diferença é que a solicitação parece ter sido para o último URL inserido intencionalmente antes de qualquer redirecionamento movê-lo. Por exemplo:
Dado: somesite.com fareja o agente, vê o Android e executa um document.location + = "/ m";
Então: o navegador terá um URL de somesite.com/m
Mas: se você "Solicitar site para desktop", isso mudará o User-Agent e solicitará novamente de somesite.com
A menos que: você tenha acessado diretamente o URL móvel de somesite.com/m em primeiro lugar, caso em que apenas recarrega somesite.com/m.
Eu esperaria que isso funcionasse com redirecionamentos HTTP 301 e 302, sei que funciona com alterações de document.location (pelo menos como descrito) e especularia que funciona com <meta> atualizações.
Este snippet de javascript fará efetivamente o mesmo:
function requestDesktopSite() {
document.getElementsByTagName('meta')['viewport'].content='min-width: 980px;';
}
<button onclick="requestDesktopSite()">Request Desktop Site</button>