大数据项目——广告数仓之HTTP概述

目录

第一章、理解URL

[1.1 客户端、服务器](#1.1 客户端、服务器)

[1.1.1 服务器与服务](#1.1.1 服务器与服务)

[1.1.2 客户端](#1.1.2 客户端)

[1.2 URL](#1.2 URL)

[1.3 查询参数](#1.3 查询参数)


第一章、理解URL

1.1 客户端、服务器

1.1.1 服务器与服务

所谓服务器,其实就是一台24小时不关机的计算机,它也有自己的cpu、内存、网卡、硬盘以及操作系统(一般是各种发行版linux)。这些服务器和普通的电脑一样,也有目录、用户这些概念。

假如这是香港城市大学的一台服务器,这台服务器上提供了一个web服务,所谓服务,其实就是一个24小时运行在服务器上的程序。现在,如果有别的电脑来访问这个服务,他就可以看到香港城市大学的官网了。

1.1.2 客户端

现在,有一台客户机打开了自己的浏览器想要访问香港城市大学的官网。

但是在庞大的互联网世界中,提供服务的服务器不仅仅只有一台,我们的客户机怎么才能在茫茫机海中找到香港城市大学的服务器呢?

1.2 URL

答案就是URL(Uniform Resource Locator,统一资源定位符),我们经常在浏览器里输入的访问地址(比如NewsCentre | City University of Hong Kong),就是一个典型的URL。我们就是靠它定位需要访问的资源的。

URL是有固定格式的,下面我们通过一个具体的例子进行介绍。

下面这个地址是香港城市大学新闻页的URL

NewsCentre | City University of Hong Kong

将它复制到浏览器进行访问可以看到如下的页面

现在说一下URL的结构。

  • 协议头:

冒号之前的部分,我们称为协议头。在这个URL中,我们可以说使用的是https协议。

https://www.cityu.edu.hk/media/news

  • 主机名或域名:

://和第一个/之间的内容是主机名或域名(还可以直接写ip地址)。

https://www.cityu.edu.hk/media/news

严格来说,客户端通过ip地址才能在网络中找到响应的服务器。我们之前学过如何配hosts,当时就是相当于给ip地址起了别名,这样我们才能通过hadoop102、hadoop103等主机名去访问各类服务。但www.cityu.edu.hk对应的ip我们是怎么知道的呢?其实还有一个东西叫做DNS(域名解析系统),它其实是一些互联网厂商提供的一个把域名解析为ip地址的服务(它有一个域名和ip地址对应关系的表),而且DNS服务器的IP地址是事先写到路由器或上游网络设备的设置里的。

所以:

(1) 浏览器会根据DNS服务器的ip地址,找就近的DNS服务器去查询www.cityu.edu.hk的ip地址是多少。

(2) DNS响应浏览器,告诉我们www.cityu.edu.hk的ip地址是144.214.4.184。

最后,需要说明,域名是有专门的机构进行管理的,当你注册cityu.edu.hk这个域名时,别人就不能注册了。因此,可以确保域名的唯一性。

(3) 然后浏览器会在真正执行请求时,偷偷地把www.cityu.edu.hk换成ip地址。也就成了:

https://144.214.4.184/media/news

  • 端口号

URL里其实还应该指定端口号。比如:

https://144.214.4.184:443/media/news

但是,在极个别的情况下可以省略。比如如果协议是http,那么在URL中省略端口号,就会默认访问80端口。如果协议是https,那么省略端口号时就会默认访问443端口。没有为什么,这是互联网刚兴起时,早期约定俗称的东西。其他情况下,端口号通常需要明确指定。

  • 路径

从第一个单斜杠(包含)及其之后,其实就是路径了。它联合前面的协议头、域名共同指定了互联网中的唯一资源(可以是视频、网页、文件或者字符串)。

在此处,这个/media/news其实就对应香港城市大学的新闻页了。

https://144.214.4.184:443/media/news

现在我们的浏览器(客户端)已经可以根据IP地址找到服务器了。于是浏览器就向服务器通过网络发送了一条请求。

服务器上的程序根据URL中的路径寻找相应的文件或者执行某种程序,并将最终的结果返回给客户端。

最终,我们的页面上就能出现相应的内容了。

​​​​​​​1.3 查询参数

不久,我们发现自己想看更多的新闻,我们想要看第二页。于是在页面最底部的页码条上点了一下2。

这个时候,我们发现浏览器地址栏里的URL,发生了变动。

注意问号之后的内容,它是一组由&分隔的键值对,键和值之间用=分隔。?后的异常创,我们通常称它为"查询参数"。

当前的查询参数具有如下含义:

页码 : 1

关键字 : <没给>

查询参数是对路径的进一步补充描述,它就像是在告诉服务器,我还是要看香港城市大学的新闻业,不过请给我page为1的页面。这个时候,香港城市大学的服务器又往后找了几条新闻,返回到了你的浏览器上。

那么问题在于,第一次请求的时候好像没给查询参数,香港城市大学为什么知道我要看的是哪一页呢?这其实取决于他们服务器的处理逻辑,现在让我们在下方的页码栏再次点击第一页。

此时,我们可以看到浏览器地址栏的变化。

这个时候,查询参数变成了page=0。也就是说,请求/media/news和请求/media/news?keyword=&page=0的结果是一样的。这可以理解为香港城市大学后台程序给page设置了默认值(0),所以用户不指定这个参数也可以顺利看到内容。但这并不是到哪个网站都通用的,当你指定URL时发送请求时,服务器要给你看什么完全取决于服务器。

相关推荐
haoyun65432127 分钟前
一文理清CRM:从基础概念到落地应用完整指南
大数据·人工智能·架构
办公室马主任44 分钟前
华南机械加工企业选MES服务商怎么选?
大数据·运维·人工智能·制造
IPHWT 零软网络2 小时前
政务热线:如何打造 7x24 小时不打烊的智能总机?
大数据·人工智能·政务·智能路由·ivr语音导航
陈天伟教授3 小时前
TraeWork初体验-生成研究报告
大数据·数据库·人工智能
ZDGJ60993 小时前
一文理清国际期货各大品类
大数据·区块链
保卫大狮兄4 小时前
设备利用率低,到底是设备问题还是排产问题?
大数据·运维·服务器
大大大大晴天️4 小时前
StarRocks 的查询性能为什么快?
大数据·starrocks
专注API从业者4 小时前
告别人工盯品!Open Claw 搭建京东商品全自动监控与数据分析系统(附完整可运行代码)
大数据·数据库·数据分析
00后程序员张5 小时前
抓包鹰 电脑本机网络连接表怎么看?哪些程序在联网 进程归属与可疑 IP 追溯
网络协议·计算机网络·网络安全·ios·adb·https·udp
千舟软件6 小时前
千舟软件介绍 | 顺便聊聊我们做了哪些产品
大数据·数据库·科技·小程序·业界资讯