Перенаправление собственного агента iOS MDM

Я наблюдал странное, но последовательное поведение собственного агента iOS MDM.

Когда мы перенаправили его на другой URL-адрес, ответив HTTP 301, 302 или 307, агент изменил свой глагол HTTP PUT на GET, полностью отбрасывая тело HTTP-запроса.

Например, это был первый HTTP-запрос устройства к [URL-1]:

PUT [URL-1] HTTP/1.1
Host: [HOST]
User-Agent: MDM/1.0
Content-Length: 306
Accept: */*
Content-Type: application/x-apple-aspen-mdm
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: keep-alive
Proxy-Connection: keep-alive

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
       <key>Status</key>
       <string>Idle</string>
       <key>UDID</key>
       <string>86ff0b7c0129f1c1ed4ff36984c1a2a3e5e06c81</string>
</dict>
</plist>

Мы ответили HTTP 301 и перенаправили его на [URL-2]:

HTTP/1.1 301 Moved Permanently
Content-Type: text/html; charset=UTF-8
Location: [URL-2]
X-Powered-By: ASP.NET
Date: Tue, 10 Jul 2012 10:48:31 GMT
Content-Length: 182
<head><title>Document Moved</title></head>
<body><h1>Object Moved</h1>This document may be found <a HREF="[URL-2]">here</a></body>

Устройство получило доступ к [URL-2] с помощью этого HTTP-запроса (изменил глагол HTTP на GET и полностью отбросил тело HTTP):

GET [URL-2] HTTP/1.1
Host: [HOST]
User-Agent: MDM/1.0
Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: keep-alive
Proxy-Connection: keep-alive

Поддерживает ли собственный агент MDM перенаправления HTTP? Если это произойдет, что нам нужно изменить, чтобы он не отбрасывал тело HTTP и не менял глагол HTTP PUT?

1 ответ

Он поддерживает перенаправления HTTP с исключениями. Вместо этого используйте безопасный уровень для перенаправления.

Другие вопросы по тегам