相信大家都经常使用b站,那比如说我们在pc端打开b站,有没有想过Why we can do it ?? Why we can open this APP with a link? 我们是如何用自己的计算机设备发送和接受数据的呢?
实际上,当我们打开电脑(客户端),会连入互联网,同时我们会获得一个唯一对应的Internet Protocol address(IP地址),IP地址由四部分被点分隔的数字序列组成,如192.168.2.10。实际上哔哩哔哩的服务器(服务端)也接入了互联网,同样的,它也有一个唯一对应的IP地址,下面我们可以打开电脑中的命令提示符查看自己电脑中的IP地址。
这里提到了服务端和客户端的概念。
服务端,顾名思义,就是为客户端服务的,服务端时刻处于被动状态,时刻准备着接受客户端发出请求。
这里不要认为哔哩哔哩这个app只是一个服务端哦?
哔哩哔哩是既包含服务端又包含客户端的,用户可以在客户端进行视频的浏览点赞等等功能,
同时哔哩哔哩的由服务器组成的后端系统也就是服务端一直在随时处理客户端发出的请求,并提供相应的数据和服务。
例如,当用户在客户端上发布一个评论时,服务端会接收到这个请求,进行处理并将评论存储到数据库中,然后将响应数据发送回客户端。
那此时想要打开b站的首页,这其实是想要访问b站的一个html文件,那么我们从客户端(比如说浏览器)发出命令(访问网址),并通过电缆转化为电子信号(01)传递到互联网,并继续向服务端传递,通过互联网的过渡作用转化为服务端计算机可以识别的文本数据。是不是很神奇??
HTTP协议(HiperText Transfer Protocol-----超文本传输协议)
1.概念:
首先将其分为三部分:超文本,传输,协议
那由词性我们可以知道,超文本和传输都是修饰协议的,那我们就先从协议讲起。
【协议】
关于HTTP的协议部分,既然叫协议,一定是双方乃至多方共同商定的相互承认的约定和规范。
那具体到HTTP协议,则是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范(两个以上的参与者),以及相关的各种控制和错误处理方式(行为约定和规范)。
【传输】
从传输这个动词中我们可以读出两个信息,1.存在两个对象(发送方和接收方)。2.在传递某种信息,数据或物品之类。
对于HTTP协议来说,允许通过遵守该协议的中间人进行传递,并且要求中间人不扰乱基本的数据传输
【超文本】
That is mean, HTTP传输的内容是超文本。这很不同寻常。
要理解超文本的概念必须先从熟悉的文本入手
通常计算机世界中的文本包括最早期的字符文字以及后来扩展的图片,视频,压缩包等
那超文本的意思是超越了以上的普通文本的文本,它是文字、图片、视频等的混合体最关键有超链接,能从一个超文本跳转到另外一个超文本。
如果大家在看此篇之前略微了解过前端框架HTML,就会知道HTML 就是最常见的超文本了,
HTML本身只是纯文字文件,但内部用很多标签定义了图片、视频等的链接,在经过浏览器的解释,呈现给我们的就是一个文字、有画面的网页了。
OK,经过了对 HTTP 里这三个名词的详细解释,就可以给出比「超文本传输协议」这七个字更准确更有技术含量的答案:
HTTP 是一个在计算机世界里专门在「两点」之间「传输」文字、图片、音频、视频等「超文本」数据的「约定和规范」。
这里说的【两点】可以是服务器对<-->服务器,服务器<-->浏览器(客户端),
常见客户端有:
1.万维网使用的网页浏览器,例如Chrome、Firefox、Safari等。
2.收寄电子邮件时的电子邮件客户端,例如Outlook、Gmail等。
3.即时通讯的客户端软件,例如微信、QQ等
有时候,当我们想要访问一个网站时,会出现502或404的字样,这个被称为状态码