Instantly share code, notes, and snippets.
Created
September 14, 2015 18:01
-
Save JordanMilne/c07b92fd72b9c90df5a1 to your computer and use it in GitHub Desktop.
Comparing the cookie parsing behaviours of various HTTP services
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"Cookies": { | |
"Cookie: foo=1\r\nCookie: ;": { | |
"gunicorn + werkzeug": "1, : ", | |
"gunicorn + webob": "1 : ", | |
"paste + werkzeug": "1, : ", | |
"paste + webob": "1 : ", | |
"nginx": "1 : ", | |
"varnish + regex": "1 : ", | |
"varnish + vmod_cookie": "1 : ", | |
"apache2 + mod_php": "1, : ", | |
"nginx + php5-fcgi": " : " | |
}, | |
"Cookie: \r\nCookie: ; foo=2": { | |
"gunicorn + werkzeug": " : ", | |
"gunicorn + webob": "2 : ", | |
"paste + werkzeug": " : ", | |
"paste + webob": "2 : ", | |
"nginx": "2 : ", | |
"varnish + regex": " : ", | |
"varnish + vmod_cookie": " : ", | |
"apache2 + mod_php": "2 : ", | |
"nginx + php5-fcgi": "2 : " | |
}, | |
"Cookie: foo=3\r\nCookie: foo=4": { | |
"gunicorn + werkzeug": "3,foo=4 : ", | |
"gunicorn + webob": "4 : ", | |
"paste + werkzeug": "3,foo=4 : ", | |
"paste + webob": "4 : ", | |
"nginx": "3 : ", | |
"varnish + regex": "3 : ", | |
"varnish + vmod_cookie": "3 : ", | |
"apache2 + mod_php": "3, foo=4 : ", | |
"nginx + php5-fcgi": "4 : " | |
}, | |
"Cookie: foo=5\r\nCookie: ; foo=6": { | |
"gunicorn + werkzeug": "6 : ", | |
"gunicorn + webob": "6 : ", | |
"paste + werkzeug": "6 : ", | |
"paste + webob": "6 : ", | |
"nginx": "5 : ", | |
"varnish + regex": "5 : ", | |
"varnish + vmod_cookie": "5 : ", | |
"apache2 + mod_php": "5, : ", | |
"nginx + php5-fcgi": "6 : " | |
}, | |
"Cookie: foo=7; foo=8": { | |
"gunicorn + werkzeug": "8 : ", | |
"gunicorn + webob": "8 : ", | |
"paste + werkzeug": "8 : ", | |
"paste + webob": "8 : ", | |
"nginx": "7 : ", | |
"varnish + regex": "7; 8 : ", | |
"varnish + vmod_cookie": "8 : ", | |
"apache2 + mod_php": "7 : ", | |
"nginx + php5-fcgi": "7 : " | |
}, | |
"Cookie: foo=9; foo=10\r\nCookie: ; foo=11; foo=12": { | |
"gunicorn + werkzeug": "12 : ", | |
"gunicorn + webob": "12 : ", | |
"paste + werkzeug": "12 : ", | |
"paste + webob": "12 : ", | |
"nginx": "9 : ", | |
"varnish + regex": "9; 10 : ", | |
"varnish + vmod_cookie": "10 : ", | |
"apache2 + mod_php": "9 : ", | |
"nginx + php5-fcgi": "11 : " | |
}, | |
"Cookie: foo=13; foo=14\r\nCookie: ; bar=15; foo=16": { | |
"gunicorn + werkzeug": "16 : 15", | |
"gunicorn + webob": "16 : 15", | |
"paste + werkzeug": "16 : 15", | |
"paste + webob": "16 : 15", | |
"nginx": "13 : 15", | |
"varnish + regex": "13; 14 : ", | |
"varnish + vmod_cookie": "14 : ", | |
"apache2 + mod_php": "13 : 15", | |
"nginx + php5-fcgi": "16 : 15" | |
}, | |
"Cookie: bar=17; foo=18\r\nCookie: ; foo=19; foo=20": { | |
"gunicorn + werkzeug": "20 : 17", | |
"gunicorn + webob": "20 : 17", | |
"paste + werkzeug": "20 : 17", | |
"paste + webob": "20 : 17", | |
"nginx": "18 : 17", | |
"varnish + regex": "18 : 17", | |
"varnish + vmod_cookie": "18 : 17", | |
"apache2 + mod_php": "18, : 17", | |
"nginx + php5-fcgi": "19 : " | |
}, | |
"Cookie: foo= 21": { | |
"gunicorn + werkzeug": "21 : ", | |
"gunicorn + webob": "21 : ", | |
"paste + werkzeug": "21 : ", | |
"paste + webob": "21 : ", | |
"nginx": "21 : ", | |
"varnish + regex": "21 : ", | |
"varnish + vmod_cookie": "21 : ", | |
"apache2 + mod_php": " 21 : ", | |
"nginx + php5-fcgi": " 21 : " | |
}, | |
"Cookie: foo =22": { | |
"gunicorn + werkzeug": "22 : ", | |
"gunicorn + webob": "22 : ", | |
"paste + werkzeug": "22 : ", | |
"paste + webob": "22 : ", | |
"nginx": "22 : ", | |
"varnish + regex": " : ", | |
"varnish + vmod_cookie": " : ", | |
"apache2 + mod_php": " : ", | |
"nginx + php5-fcgi": " : " | |
}, | |
"Cookie: foo\t=23": { | |
"gunicorn + werkzeug": "23 : ", | |
"gunicorn + webob": "23 : ", | |
"paste + werkzeug": "23 : ", | |
"paste + webob": "23 : ", | |
"nginx": " : ", | |
"varnish + regex": " : ", | |
"varnish + vmod_cookie": " : ", | |
"apache2 + mod_php": " : ", | |
"nginx + php5-fcgi": " : " | |
}, | |
"Cookie: foo=\t24": { | |
"gunicorn + werkzeug": "24 : ", | |
"gunicorn + webob": "24 : ", | |
"paste + werkzeug": "24 : ", | |
"paste + webob": "24 : ", | |
"nginx": "\t24 : ", | |
"varnish + regex": "24 : ", | |
"varnish + vmod_cookie": "24 : ", | |
"apache2 + mod_php": "\t24 : ", | |
"nginx + php5-fcgi": "\t24 : " | |
}, | |
"Cookie: =foo=25": { | |
"gunicorn + werkzeug": "25 : ", | |
"gunicorn + webob": " : ", | |
"paste + werkzeug": "25 : ", | |
"paste + webob": " : ", | |
"nginx": " : ", | |
"varnish + regex": " : ", | |
"varnish + vmod_cookie": " : ", | |
"apache2 + mod_php": " : ", | |
"nginx + php5-fcgi": " : " | |
}, | |
"Cookie: foo=26, bar=27": { | |
"gunicorn + werkzeug": "26, bar=27 : ", | |
"gunicorn + webob": "26 : 27", | |
"paste + werkzeug": "26, bar=27 : ", | |
"paste + webob": "26 : 27", | |
"nginx": "26, bar=27 : 27", | |
"varnish + regex": "26, bar=27 : ", | |
"varnish + vmod_cookie": "26, bar=27 : ", | |
"apache2 + mod_php": "26, bar=27 : ", | |
"nginx + php5-fcgi": "26, bar=27 : " | |
}, | |
"Cookie: foo=28\r\n\tfoo=29; bar=30": { | |
"gunicorn + werkzeug": " : 30", | |
"gunicorn + webob": "29 : 30", | |
"paste + werkzeug": " : 30", | |
"paste + webob": "29 : 30", | |
"nginx": "28 : ", | |
"varnish + regex": "28 foo=29 : 30", | |
"varnish + vmod_cookie": "28 foo=29 : 30", | |
"apache2 + mod_php": "28\tfoo=29 : 30", | |
"nginx + php5-fcgi": "28 : " | |
}, | |
"Cookie: foo=\r\n 31": { | |
"gunicorn + werkzeug": "31 : ", | |
"gunicorn + webob": "31 : ", | |
"paste + werkzeug": "31 : ", | |
"paste + webob": "31 : ", | |
"nginx": " : ", | |
"varnish + regex": "31 : ", | |
"varnish + vmod_cookie": "31 : ", | |
"apache2 + mod_php": " 31 : ", | |
"nginx + php5-fcgi": " : " | |
}, | |
"Cookie: fo\r\n o=32": { | |
"gunicorn + werkzeug": " : ", | |
"gunicorn + webob": " : ", | |
"paste + werkzeug": " : ", | |
"paste + webob": " : ", | |
"nginx": " : ", | |
"varnish + regex": " : ", | |
"varnish + vmod_cookie": " : ", | |
"apache2 + mod_php": " : ", | |
"nginx + php5-fcgi": " : " | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment