3 ms·
My point was that a average programmer does not understand a thing about assembly languages, because they are abstracted away by well working implementations of
by zxcdw 13y ago
My point was that a average programmer does not understand a thing about assembly languages, because they are abstracted away by well working implementations of compilers and debuggers. I live under an assumption that such is also the case with HTTP, or at least should be, because for me it seems that a protocol as simple as HTTP would be abstracted away ages ago by libraries and implementations.
- laumars 13y agoPlain text HTTP (and all the other ASCII-based networking protocols) is already a layer of abstraction on top of TCP/IP data packets. So a better comparison would be HTTP as the higher level programming language and the raw TCP/IP packets as the assembly. In which case we're back to the point that developers would care if they had to write websites in binary. The problem with many web developers these days is that they don't understand or don't care about the networking side of things. Web development is such a high level view of programming that many developers who've only grown up with targeting the web, those kinds of developers don't also appreciate just how many layers of abstraction there are between them and the users navigating their site. As far as they're concerned, they just bang out some PHP, copy the files onto some shared hosting provider and let the sys admins worry about the rest. Which is fine if that's all they want to do, but there's a whole plethora of technology at work - even beneath the HTTP protocol. As for tools to query HTTP, I swear by curl: curl -i --silent example.com | head # http headers (written by web app) curl -I example.com # http headers (written by web daemon) curl -v --silent example.com | more # verbose output; great for tracking down faults curl -H "host:example.com" ip.address # set the host header; useful when using named based virtual hosts curl -A "opera mobile" example.com # sets the user agent; useful for working around mobile / desktop redirects ...etc. Rarely does a day go by and I'm not using curl.