| |
| META TOPICPARENT |
name="WebPreferences" |
Software Identification
This page collects resources related to activities of the Operations Interest Group concerning identification in client/server interactions.
Purpose
This page collects guidance and examples for using HTTP User-Agent and Server headers so that clients (especially "operational-mode" clients such as validators) and servers can be identified by other software they are interacting with following the IVOA SoftID Note ( NOTE-softid-1.0).
Specifically, proper identification supports:
- Recognising maintenance queries: distinguishing operational requests (e.g., validation or monitoring) from science queries in usage statistics.
- Dropping workarounds: allowing developers to determine which client or server workarounds are still needed and which can be removed.
- Client Snooping: enabling clients or servers to adjust behavior when interacting with known components, while respecting interoperability principles.
- Debugging: diagnosing failures efficiently by identifying which components were involved in a communication, avoiding unnecessary analysis of known-obsolete or experimental components.
- Notifications: facilitating responsible disclosure of software issues or requests for updates by enabling maintainers to contact deployers of vulnerable or outdated software.
Background:
This topic was initially raised during discussions at Interops ( Mark in College Park, Markus in Groningen). Recommendations for client identification were initially codified on the UserAgentUsage page.
Current Implementations of User-Agent and Server Headers
This section provides a community-driven list of User-Agent and Server headers used in VO clients and services. Entries may or may not fully follow the SoftID recommendations, and the list is not exhaustive. Please note the examples are representative, not necessarily verbatim copies of what these components will report.
Contributions of updates or new entries are welcome. You can add as much information as seems relevant, e.g. dates or versions for which certain header values apply (where it's not obvious from the context).
Scientific client software (User-Agent header)
- STILTS general query tools (tapquery, cone)
-
User-Agent: STILTS/3.4 Java/1.8.0_181
- TOPCAT
-
User-Agent: TOPCAT/4.8 Java/1.8.0_181
Operational client software (User-Agent header)
- GAVO RegTAP
-
User-Agent: GAVO-RegTAP-harvester (IVOA-copy) DaCHS/{version}
- GloTS
-
User-Agent: GloTS-harvester (IVOA-copy) DaCHS/{version}
- STILTS validation tools (taplint, datalinklint)
-
User-Agent: STILTS/3.4 (IVOA-validate) Java/1.8.0_181 (earlier versions, following earlier softid draft)
-
User-Agent: STILTS/3.4-1+ (IVOA-test) Java/1.8.0_181 (later versions, following published Note-softid-1.0)
Server software (Server header)
- DaCHS over twisted:
-
Server: DaCHS/{version} twistedWeb/{version}
VO Service Providers (Server header)
<--
--> |