大数据项目——广告数仓之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时发送请求时,服务器要给你看什么完全取决于服务器。

相关推荐
Promise微笑几秒前
红外分辨率 160×120、320×240、384×288 与 640×480实战选型指南
大数据·运维·人工智能·物联网
QN1幻化引擎17 分钟前
给 AI 做一次「意识体检」——基于 QN1 幻化引擎的灵鉴意识识别框架与 DalinX V5 实测
大数据·数据结构·人工智能·算法·架构
GEO_ai_zhijian1 小时前
饮料生产线质量检测系统供应商哪家强
大数据·python
CryptoPP1 小时前
BSE股票K线数据接入实战:从接口调用到前端图表展示
大数据·前端·网络·人工智能·websocket·网络协议
ITxiaobing20231 小时前
程序化广告RTB场景下IP地理定位服务的精度与工程架构选型
网络协议·tcp/ip·架构
得闲喝茶1 小时前
跨表数据匹配——VLOOKUP、XLOOKUP
大数据·数据库·笔记·信息可视化·数据分析·excel
码农阿强2 小时前
GPT-5.6 Sol/Terra/Luna 三模型全量上架StartAPI|分层选型+可运行调用代码实战
大数据·人工智能·gpt·ai·aigc
zandy10112 小时前
体验家 XMPlus 批量操作与自动化工作流引擎:让大规模运营从手动执行走向规则驱动
大数据·运维·自动化
科技发布3 小时前
可出具正规收录回执广告平台推荐,朝闻通合规投放满足企业审计需求
大数据·人工智能·科技·媒体
智慧景区与市集主理人3 小时前
巨有科技:市集笔记内容分发,低成本打造本地流量曝光矩阵
大数据·笔记·科技