Re: Reading HTTP headers (was Re: cfsockets vs OT)
Re: Reading HTTP headers (was Re: cfsockets vs OT)
- Subject: Re: Reading HTTP headers (was Re: cfsockets vs OT)
- From: Becky Willrich <email@hidden>
- Date: Tue, 6 Jan 2004 11:59:23 -0800
This raises a question I've long had: in HTTP, what is the best way
to read
in the HTTP header? The only way that makes sense to me is to read
one byte
at a time until I see the header terminator, 0x0D0A0D0A, because
there is no
way of knowing how big the header is. Am I missing something?
General technique is to read() big chunks and do your
protocol parsing from the buffer. You generally don't
want to make N system calls to read/write N bytes.
What he said - read in a big chunk, scan over the bytes read, and then
somehow save the excess bytes (which presumably are part of the body of
the response). If you are reading byte by byte, that will definitely
explain the performance hit moving from OT to BSD sockets - OT is
probably doing the buffering for you.
And of course, the easiest way to read in the HTTP header is to use
CFNetwork and have it do it for you. :)
REW
_______________________________________________
macnetworkprog mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/macnetworkprog
Do not post admin requests to the list. They will be ignored.