据我了解,HTTP
代表超文本传输协议,您可以在其中以文本格式向/从网络服务器传输/接收数据。如果是这种情况,我们如何能够将文档/图像提交或上传到网络服务器?
2 回答
HTTP
如您所述,表示超文本传输协议。HTTP 在客户端服务计算机中用作请求-响应协议。这意味着当您使用计算机上的网络浏览器(客户端 - 例如 Firefox 或 Chrome)进行导航时,您正在从该网站请求信息。
回答您的问题:一切都以bytes
. 一组单词由一串字节组成,一个word文档是一串字节,而一张图片,你猜对了,是一串字节。HTTP 是浏览器与服务器通信的方式,使用特定命令,用户可以将他们的数据(他们的字节串)提交给服务器。
从历史上看,一个字节是bits
用于在计算机中对单个文本字符进行编码的数量。简单来说,所有数据都由字节组成,并且是HTTP
您可以将这些字节从 A 传输到 B 的一种方式。其他方式包括FTP
、POP3
和。UDP
TCP/IP
非常简单地说,HTTP 通过向服务器发送和从服务器接收命令来工作。客户端和服务器之间请求-响应的两种常用方法是GET
和POST
。GET 请求从指定的资源请求数据(以字节为单位),而 POST 将要处理的数据提交到指定的资源(也以字节为单位)。然后,您的计算机会将这些字节转换为可理解的格式 - 例如:
您导航到网站上的图像(下载)。浏览器识别它是一个图像(通过多种方式,但现在,我们会说图像是一个
.png
文件)。您的浏览器识别出它有要下载的图像,并在图像标签之间转换这些字节以将其呈现为图像。然后您会看到您的图像加载到屏幕上(快乐!)。您将 Word 文档上传到网站。HTTP 向服务器发送附有文档的 POST 请求,并将文档作为字节字符串发送。然后,服务器会将其放在您或它指定的位置,并且您已将 Word 文档(一长串字节)上传到服务器。
所以,长话短说,一切都转换为bytes
. 位于您计算机上的文档和从网站下载的图像都包含不同的字节数和组合。
我真的没有任何计算机科学学位,并且已经尝试解释这一点。但是,您可以从以下链接中找到更多信息:
HTTP 允许您使用Content-Type
标头指定要传输的数据类型。内容不一定是文本,但可以是任何字节流。
HTTP/1.1 200 OK
Server: carrier pigeon
Content-Type: image/jpeg
Date: today
...contents...
HTTP 标头、请求消息和响应消息都是纯文本,但内容不一定是文本。
HTTP 的原始版本不支持标头,因此没有可靠的方法来区分文本和图像。当 HTTP 1.0 到来时,HTTP 不再只是用于传输超文本,但名称已经卡住了。