subscribe via RSS
Um ein breiteres Publikum anzusprechen, ist dieser Post ausschließlich auf Englisch verfügbar.
Talla Röcker, 14 Jahre alt, absolviert bei uns im Rahmen seines Bogy-Praktikums (Berufsorientierung am Gymnasium) eine zweiwöchiges Praktikum. Engagiert und mit viel Einsatz wagt er sich an die kleinen und großen Aufgaben im Alltag einer Entwicklungsfirma heran und schildert hier seine Eindrücke! Vielen Dank, Talla!
Die MTC2014 hat nicht enttäuscht. Auch wenn ich leider nicht lange bleiben konnte – die Reise hat sich auf jeden Fall gelohnt.
I've just had the pleasure of reading The Design of Everyday Things by Donald Norman. You should too.
For one, it's a nice tour through our world with the focus on user experience and usability – the author has such an attention to stuff I wouldn't even notice ( if it wasn't for this book ) – Doors, Faucets or car radios. I look at stuff differently now.
The other remarkable thing about this book is that it's first issue was published at the end of the 80's – a time, were VCRs were new stuff, CDs even newer and computers not nearly where they are today. Almost prophetically, he thinks loudly about a device ( personal calendar ) that just works like modern smartphone calendar apps – with reminders, sharing and other useful functionality. Only that this kind of invention was 20 years away then.
Sounds easy right? Almost. There is, unfortunately, a bit more to it than to just search for a CRLF-String or testing whether the content-length matches. Just for the curious, this is a list of valid response-finished detection techniques.
If the response has a content-length-header, it's easy. Just check whether the body of the response is already as long as the content-length-field specifies and the response is finished once the values match.
2. Non-Identity Transfer-Coding
A transfer encoding is great for when the server does not specify a content-length ( which he must not if the server uses a non-identity transfer coding anyway ). Chunked encoding is a transfer encoding ( unlike gzip, which is a content-encoding ) and splits the body into chunks. The chunked encoding has a well-defined end, once you find that in your data, the response is complete.
3. Connection: Close
Neither Content-Length nor Transfer-Coding anywhere? Just hope for the remote server to close the connection at some point. If this happens and the server specifies a connection: close header ( or it's a HTTP/1.0 conversation, which uses close implicitly if nothing else is specified ), the response is complete.
4. If nothing of the above happens, just hope that the remote server closes the connection, which is about the only way you can be certain that the connection ended.
HTTP is a mess.