10. Cross-Protocol Proxying between CoAP and HTTP (Mise en Proxy Inter-Protocoles entre CoAP et HTTP)
CoAP prend en charge un sous-ensemble limité de la fonctionnalité HTTP, et donc la mise en proxy inter-protocoles vers HTTP est simple. Il y a quelques différences, cependant, qui doivent être prises en compte par un proxy.
10.1. CoAP-HTTP Proxying (Mise en Proxy CoAP-HTTP)
Si une requête contient l'option Proxy-Uri ou Proxy-Scheme avec un URI 'http' ou 'https', alors le point de terminaison CoAP récepteur (le proxy) est demandé d'effectuer l'opération spécifiée par la méthode de requête sur la ressource HTTP identifiée dans l'URI HTTP.
Le proxy effectue la requête HTTP au nom du client CoAP et renvoie la réponse au client CoAP. Le proxy doit traduire la méthode CoAP en méthode HTTP correspondante, et traduire le code de réponse HTTP en code de réponse CoAP correspondant.
10.1.1. Method Mapping (Mappage des Méthodes)
- GET -> GET
- POST -> POST
- PUT -> PUT
- DELETE -> DELETE
10.1.2. Response Code Mapping (Mappage des Codes de Réponse)
Les codes de réponse sont mappés aussi directement que possible. Par exemple, 200 OK devient 2.05 Content, 404 Not Found devient 4.04 Not Found, etc.
10.2. HTTP-CoAP Proxying (Mise en Proxy HTTP-CoAP)
Si le Request-URI d'une requête HTTP contient un URI "coap" ou "coaps", alors le point de terminaison HTTP récepteur (le proxy) est demandé d'effectuer l'opération spécifiée par la méthode de requête sur la ressource CoAP identifiée par l'URI.
Le proxy effectue la requête CoAP au nom du client HTTP et renvoie la réponse au client HTTP. Comme pour la mise en proxy CoAP-HTTP, le proxy doit traduire les méthodes et les codes de réponse.
10.2.1. Method Mapping (Mappage des Méthodes)
- GET -> GET
- POST -> POST
- PUT -> PUT
- DELETE -> DELETE
10.2.2. Response Code Mapping (Mappage des Codes de Réponse)
Les codes de réponse sont mappés aussi directement que possible. Par exemple, 2.05 Content devient 200 OK, 4.04 Not Found devient 404 Not Found, etc.
10.2.3. Media Type Mapping (Mappage des Types de Média)
Le proxy doit traduire les types de média Internet (utilisés dans HTTP) en Content-Formats CoAP (entiers), et vice-versa. Si un proxy ne reconnaît pas ou ne peut pas mapper un type de média, il doit renvoyer une erreur appropriée (par exemple, 415 Unsupported Media Type ou 4.15 Unsupported Content-Format).
10.3. URI Mapping (Mappage d'URI)
Les URIs doivent être mappés entre les schémas http/https et coap/coaps. Cela implique généralement de copier les composants de l'URI (hôte, port, chemin, requête) d'un schéma à l'autre.