답변:
유일한 차이점은 User-Agent:
요청 의 헤더 라고 생각합니다 .
내 Android 기기에서 Chrome이 보낸 User-Agent 헤더는 다음과 같습니다.
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
첫 번째 단어에서 "Mobile"이라는 단어와 Android 시스템 및 장치에 대한 언급도 있습니다.이를 확인하면 데스크톱 Linux 버전에서 보낸 값과 거의 일치하는 잘못된 정보 (예 : X11 및 x86_64)도 제공됩니다. 크롬.
또 다른 약간의 차이점은 리디렉터가 이동하기 전에 요청이 마지막으로 의도적으로 입력 한 URL에 있었던 것으로 보인다는 것입니다. 예를 들면 :
주어진 : somesite.com은 에이전트를 스니핑하고 Android를보고 document.location + = "/ m"을 수행합니다.
그러면 브라우저의 URL은 somesite.com/m이됩니다.
그러나 "데스크톱 사이트를 요청"하면 User-Agent를 변경하고 somesite.com에서 다시 요청합니다.
그렇지 않은 경우 : 처음에 somesite.com/m의 모바일 URL로 직접 이동 한 경우에는 somesite.com/m 만 다시로드됩니다.
나는 이것이 HTTP 301 및 302 리디렉션과 함께 작동 할 것으로 예상하고, document.location 변경 (적어도 설명 된대로)과 함께 작동한다는 것을 알고 있으며 <meta> 새로 고침과 함께 작동한다고 추측 할 것입니다.