Format d'une demande HTTP get

Je suis en train d'écrire un serveur HTTP (pour le seul but d'éduquer moi-même).

Typique d'OBTENIR la demande semble être ceci:

GET /?a=1&b=2 HTTP/1.1 
Host: localhost    
User-Agent: my browser details
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8    
Accept-Language: en-gb,en;q=0.5    
Accept-Encoding: gzip, deflate    
Connection: keep-alive

Le seul endroit où je peux voir les variables envoyé est dans la première ligne.
Il serait assez facile d'écrire une regex pour obtenir les variables et leur contenu, mais je me demandais si il existe un moyen plus facile. Je demande parce que j'ai toujours pensé que l'idée de url?first_variable=first_value&second_variable=second_value faisait partie du protocole, et d'une certaine façon. Cependant, aussi loin que je peux voir, ce n'est pas le cas, et je pourrais tout aussi juste faire url$first_variable-first_value?second_variable-second_value ou quelque chose.

OriginalL'auteur rlms | 2014-01-17