iOS MDM ネイティブ エージェントの奇妙な、しかし一貫した動作を確認しました。
HTTP 301、302、または 307 で応答して別の URL にリダイレクトしたとき、エージェントは HTTP PUT 動詞を GET に変更し、HTTP 要求本文を完全にドロップしました。
たとえば、これは [URL-1] へのデバイスの最初の HTTP 要求です。
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>
デバイスは、この HTTP 要求で [URL-2] にアクセスしました (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 動詞を変更しないようにするには、何を変更する必要がありますか?