Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

HTTP stands for Hypertext Transfer Protocol, so why is it used to transfer content that isn't hypertext, such as images, JSON, JavaScript, etc?

Or does the definition of hypertext include these? I thought hypertext documents were documents that contain links to other hypertext documents?

share|improve this question
2  
Actually all text is hypertext, even if it doesn't have computer mediated link resolution, and even if it doesn't contain text. So therefore all resources are hypertext. They just need more complex link resolvers. –  Dan D. Jul 6 '13 at 3:53
    
HTTP supports the formal HTML specification, which includes means to render images, client script, and data serialization (hence cookies at a minimum). That said, HTTP itself is text based. for instance, when retreiving this page, my browser innitiated a connection, and sent 'GET /questions/616178/why-is-http-used-to-transfer-content-other-than-hypertext \nHTTP1.1' to the server to make the request. the server sends back '200 <!DOCTYPE html><html> ...'. As you can see, except for binary documents, its all text. try to connect to a http server with telnet, and issue a get command to observe. –  Frank Thomas Jul 6 '13 at 7:32

2 Answers 2

HTTP is the protocol used to initiate a TCP connection between a client and server.

Much like a tunnel (http) that provides the medium for cars and trucks (the content) to pass through.

share|improve this answer

I suspect this is not really a suitable question for SU, as the answer is subjective.

I'd suggest the following answer - the first spec was defined in 1996 - although Mosaic - the first web browser was released in 1993. Hypertext was really a replacement for simpler protocols which did not display images and text together. In order to be able to display both text and images, it needed/needs to be able to get all the elements of the page, including the images.

The HTTP protocol is also a very good protocol (for what it was designed for), as it was simpler then, for example FTP, and standardised. Because web browsing became so popular it could be almost guaranteed that content could be retrieved using that protocol, ie it made it simple to get the information past firewalls.

It would also have been important for it to have quite a bit of flexibility - you talk about downloading images, but remember that jpegs and PNG's were not even supported initially, and it would probably not have been a leap for the authors to work out newer image formats would be desireable - huge TIFF images (which, from memory were supported) were not really a good fit for a heavily shared 9600 baud connection ( or 14.4k to be generous) - which was not uncommon when the protocol was released.

In order to overcome the limits of static web pages, technologies like JSON and Javascript were developed - at a much later date. By using HTTP for delivery it meant that firewalls would not suddenly pose a problem, nor would a new protocol be required. Also, Javascript is really a logical extension of a static web page - and JSON a logical extension of that, so it made sense to use existing technology.

I do note that the HTTP spec is actually quite simple, in that it defines a header and body. The header describes the type of file which can be arbitrary (using MIME types), so the protocol lends itself to alternative text formats.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.