The toy parser splits the body into two fields.

highlighted = computed this step

The toy parser splits the body into fields

The field rows show one field named a and one field named b.

two fields parsed\text{two fields parsed}
POST field splitThe body bytes, parsed fields, and length check are recomputed from pinned POST bytes.POST field split - POST /submit body 7 bytes, fields a=1 and b=2sectionnamevaluecheckrequest linemethodPOSTparsedrequest linepath/submitparsedrequest lineversionHTTP/1.1parsedheaderHostforms.exampleexactheaderContent-Typeapplication/x-www-form-urlencodedform encodingheaderContent-Length7declared bytesbodydisplay wordsa=1 ampersand b=2safe display formbodyexact hex613d3126623d32pinned bytesbodybyte length7countedfieldaa=1parsedfieldbb=2parsedcheckContent-Length7declaredcheckbody bytes7recomputedcheckmatchyessame count

Field a has value one

The first field row gives name a and value 1.

a value=1\text{a value}=1
POST field splitThe body bytes, parsed fields, and length check are recomputed from pinned POST bytes.POST field split - POST /submit body 7 bytes, fields a=1 and b=2sectionnamevaluecheckrequest linemethodPOSTparsedrequest linepath/submitparsedrequest lineversionHTTP/1.1parsedheaderHostforms.exampleexactheaderContent-Typeapplication/x-www-form-urlencodedform encodingheaderContent-Length7declared bytesbodydisplay wordsa=1 ampersand b=2safe display formbodyexact hex613d3126623d32pinned bytesbodybyte length7countedfieldaa=1parsedfieldbb=2parsedcheckContent-Length7declaredcheckbody bytes7recomputedcheckmatchyessame count

Field b has value two

The second field row gives name b and value 2.

b value=2\text{b value}=2
POST field splitThe body bytes, parsed fields, and length check are recomputed from pinned POST bytes.POST field split - POST /submit body 7 bytes, fields a=1 and b=2sectionnamevaluecheckrequest linemethodPOSTparsedrequest linepath/submitparsedrequest lineversionHTTP/1.1parsedheaderHostforms.exampleexactheaderContent-Typeapplication/x-www-form-urlencodedform encodingheaderContent-Length7declared bytesbodydisplay wordsa=1 ampersand b=2safe display formbodyexact hex613d3126623d32pinned bytesbodybyte length7countedfieldaa=1parsedfieldbb=2parsedcheckContent-Length7declaredcheckbody bytes7recomputedcheckmatchyessame count

Summary

The body bytes split into two tiny form fields.

fields parsed\text{fields parsed}
POST field splitThe body bytes, parsed fields, and length check are recomputed from pinned POST bytes.POST field split - POST /submit body 7 bytes, fields a=1 and b=2sectionnamevaluecheckrequest linemethodPOSTparsedrequest linepath/submitparsedrequest lineversionHTTP/1.1parsedheaderHostforms.exampleexactheaderContent-Typeapplication/x-www-form-urlencodedform encodingheaderContent-Length7declared bytesbodydisplay wordsa=1 ampersand b=2safe display formbodyexact hex613d3126623d32pinned bytesbodybyte length7countedfieldaa=1parsedfieldbb=2parsedcheckContent-Length7declaredcheckbody bytes7recomputedcheckmatchyessame count