如果HTTP是超文本传输​​协议,我们如何上传文档和图像?

时间:2013-03-14 22:41:56

标签: html http tcp computer-science

据我了解,HTTP代表超文本传输​​协议,您可以在其中以文本格式向/从Web服务器传输/接收数据。如果是这种情况,我们如何才能将文档/图像提交或上传到网络服务器?

2 个答案:

答案 0 :(得分:6)

正如您所说,

HTTP意味着超文本传输​​协议。 HTTP在客户端服务计算机中用作请求 - 响应协议。这意味着当您使用计算机上的Web浏览器(客户端 - 例如Firefox或Chrome)进行导航时,您将从该网站请求信息。

回答您的问题:所有内容都转移为bytes。一组单词由一串字节组成,一个单词文档是一串字节,一个图像是,你猜对了一个字节串。 HTTP是浏览器与服务器通信的方式,使用特定命令,用户可以将其数据(字节串)提交给服务器。

历史上,字节是用于编码计算机中单个文本字符的bits个数。在非常简单术语中,所有数据都由字节组成,而HTTP是可以将这些字节从A传输到B的一种方式。其他方式包括FTP,{{ 1}},POP3UDP

非常简要地说,HTTP通过向服务器发送和接收命令来工作。客户端和服务器之间的请求 - 响应的两种常用方法是TCP/IPGET。 GET请求从指定资源请求数据(以字节为单位),POST将要处理的数据提交到指定资源(也以字节为单位)。然后,您的计算机将这些字节转换为可理解的格式 - 例如:

  1. 您导航到网站上的图像(下载它)。浏览器识别它是一个图像(通过多种方式,但是现在,我们会说图像是POST文件)。您的浏览器会识别出它有一个要下载的图像,并在图像标记之间转换这些字节以将其渲染为图像。然后,您会在屏幕上看到您的图像(欢乐!)。

  2. 您将word文档上传到网站。 HTTP向附带文档的服务器发送POST请求,并将文档作为字节串发送。然后,服务器将把它放在您或它将指定的位置,并且您已将word文档(一长串字节)上传到服务器。

  3. 所以,长话短说,一切都转换为.png。计算机上的文档和从网站下载的图像都包含不同的数量和字节组合。

    我真的没有任何计算机科学学位,并且已经开始解释这个问题。但是,您可以从以下链接中找到更多信息:

    HTTP methods - GET vs POST

    Byte - information storage unit

    List of network protocols

答案 1 :(得分:1)

HTTP允许您使用Content-Type标头指定要传输的数据类型。内容不是必然文本,但可以是任何字节流。

HTTP/1.1 200 OK
Server: carrier pigeon
Content-Type: image/jpeg
Date: today

...contents...

HTTP标头,请求消息和响应消息都是纯文本,但内容不必是文本。

HTTP的原始版本不支持标题,因此没有可靠的方法来区分文本和图像。当HTTP 1.0到达时,HTTP不再仅仅用于传输超文本,但名称已经卡住了。