Taille de soumission pour un SMS de 160 caractères via une API SMS HTTP

La taille de soumission en octets pour l'envoi d'un SMS de 160 caractères via une API SMS HTTP est d'environ 640–840 octets. Cela inclut la charge utile du SMS, les composants de la requête HTTP et la surcharge réseau. Voici une analyse détaillée :

1. Taille du message SMS

  • Encodage des caractères : Un SMS standard utilise le jeu de caractères GSM-7, prenant en charge 160 caractères. Chaque caractère est encodé sur 7 bits, mais le message est compacté dans une charge utile de 140 octets (1120 bits) en raison des contraintes du protocole SMS.
  • Calcul : 160 caractères × 7 bits = 1120 bits = 140 octets.
  • Remarque : Si des caractères non-GSM-7 (par exemple, des emojis) sont utilisés, le message passe à l'encodage UCS-2 (2 octets par caractère, max 70 caractères). Comme la requête spécifie 160 caractères, le GSM-7 est supposé.

2. Surcharge de la requête HTTP

La requête HTTP POST inclut des en-têtes et un corps avec des paramètres comme to, from et message.

  • En-têtes : Les en-têtes typiques incluent Authorization, Content-Type et Host. Exemple :
  • POST /sms.do HTTP/1.1
    Host: api.smsapi.com
    Authorization: Bearer token_api_oauth
    Content-Type: application/x-www-form-urlencoded
    Content-Length: <length>
            
  • Taille des en-têtes : Environ 200–300 octets, selon la longueur du token et l'URL.
  • Corps : Exemple de corps (format SMSAPI) :
  • to=4412334445566&from=Test&message=<message-de-160-caractères>&format=json
            
  • Détails du corps :
    • to=4412334445566 : ~15 octets (numéro de téléphone à 12 chiffres).
    • from=Test : ~9 octets (identifiant d'expéditeur court).
    • message=<message-de-160-caractères> : ~160 octets (caractères GSM-7 en UTF-8).
    • format=json : ~11 octets.
    • Corps total : ~200 octets (incluant les séparateurs).
  • Requête HTTP totale : En-têtes (~200–300 octets) + Corps (~200 octets) = 400–500 octets.

3. Surcharge réseau et protocole

  • TCP/IP : Ajoute ~20 octets (TCP) + ~20 octets (IP) par paquet, généralement 1–2 paquets (~40–80 octets).
  • TLS : HTTPS ajoute ~50–100 octets pour la surcharge de chiffrement (poignée de main, en-têtes d'enregistrement).
  • Total : ~100–200 octets.

4. Taille de soumission totale

  • Charge utile SMS : 140 octets.
  • Requête HTTP : 400–500 octets.
  • Réseau/TLS : 100–200 octets.
  • Total : 140 + 400–500 + 100–200 = 640–840 octets.

5. Considérations

  • Variations d'API : Différentes API (par exemple, Twilio, MessageBird) peuvent avoir des paramètres uniques, modifiant légèrement la taille.
  • Segment unique : Un SMS de 160 caractères tient dans un seul segment, donc aucun en-tête de concaténation n'est nécessaire.
  • Compression : Rarement utilisée pour les petites requêtes comme les soumissions de SMS.

Réponse finale

La taille de soumission pour un SMS de 160 caractères via une API SMS HTTP est d'environ 640–840 octets. Pour des valeurs précises, vérifiez le format de requête spécifique à l'API et la configuration réseau.

More information