Custom HTTP Headers for Various POSTs

Custom HTTP headers are used in all the messages that the device sends to the server. The set of HTTP headers in the standard header set shown in the following table is required for every message sent to the server. Additional headers are required only in special cases and are also shown in a separate table following this table.

The following table shows the set of HTTP headers that the device should always add to every message sent to the server.

Header item Description
X-Device-Timestamp: This header specifies the date of the last successful poll of the event's URL. If the URL was never successfully polled before, the date of the last successful poll is null. The server is responsible for identifying new offerings since the last successful poll and creating the download instructions. The server will set this field. For example, the following process is a typical sequence of events:
  1. On the original poll, the timestamp value in the registry is empty. The device will use an empty string for the header field.
  2. In the response to the poll, the server will populate the header value. The device will store this value, which will be used in subsequent polls.

This header field is only required for poll requests to the server. It can be included with other types of requests such as download and status, but the server will not use it.

X-Device-Auth This is an arbitrary value used by the server for client authentication. The value is generally set in the registry, or however the device information is maintained, and sent to the server with every message. The server supplies the value as responses, which allows for the value to be updated. The client must include this header in all requests to the server.
X-Device-UUID: This header specifies the unique identifier of the device. If the OEM supplied a unique identifier, this should be used. If a unique identifier is not available, the device should generate a GUID that will be used to identify this device until the user performs a cold boot. In either case, the device identifier should be stored in the registry. For more information, see Device Management Registry Settings.
X-Device-client-version: This header specifies the version of the client software being used on the device. It is primarily for future use so that a server can react differently to different client versions. The default value for this should always be equal to 1.0 and should be stored in the registry. For more information, see Device Management Registry Settings.
X-Device-Action: This header tells the server which action the client is requesting. The action may be one of the following:
  • Poll
  • LocationRequest
  • InstructionRequest
  • Status
  • Report

The following table shows the HTTP headers that are required only for special cases.

Header item Description
X-Device-ReportType: This header is required whenever the X-Device-Action header is set to Report. This item can be one of the following values:
  • SoftwareInventory
  • FileCollection
  • MachineInventory
X-Device-FullyQualifiedFilename This header is required whenever the X-Device-Action header is set to Report and the X-Device-ReportType is set to FileCollection. The filename will be the fully qualified filename. Backslash path separators should be escaped.

See Also

Device Management

 Last updated on Thursday, April 08, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.