计算机网络】应用层杂谈 关键词——URL HTTP

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 本文主要讲应用层中的URL和HTTP相关的内容。
本文首发于稀土掘金。该平台的作者 逐光而行 也是本人。

theme: channing-cyan

highlight: ally-light

URL(uniform resource locator)

URL由三部分组成。以去蓝桥官网打开一个课程页面为例:
https://www.lanqiao.cn/courses/1367

:前的https是所用的协议;中间一段www.lanqiao.cn是DNS解析ip地址得到的结果,有时候还会附上端口地址;最后的courses/1367是文件项目路径。

关于协议

看了书中显示协议的表格之后,我发现大多数真的是平常见过的。只是自己没怎么留意。

  • http(其实官方网站一般都是https而不是http了,现在如果真的看到有http的网页我反而不一定敢打开,一般自己写的小网页还是http的)
  • https 据说安全一些(s是security的意思)
  • ftp 文件传输协议
  • file 比如在本地文件夹打开一个pdf的时候就会看到路径开头是这个
  • rtsp(real time streaming protocol)

个人感觉这篇文章介绍得很详细:

最详细的音视频流媒体传输协议-rtsp协议详解

我还没打开过以这个协议开头的链接,但我在海康威视的官网找到了一款产品支持这个协议。也许以后我会有机会更深入理解它吧?

image.png

  • sip(Session Initiation Protocol)(发起会话,用于视频会议等等)

视频会议我见过不少,不过真没留意它的URL,下次留意一下

  • about

这个指的是浏览器相关的属性。

比如在浏览器中新打开一个空白页,会显示about:blank

经典面试问题:从在浏览器中输入URL到页面显示发生了什么

  • 浏览器向DNS查询服务器dasai.lanqiao.cn的ip地址
  • DNS返回结果: 120.26.143.170 或 121.40.227.60

(我在linux下用host命令查的,等你看到这篇文章的时候ip地址可能会有些变化)

  • 浏览器在端口80(HTTP协议用的端口)申请向该地址建立TCP连接
  • 浏览器发送HTTP请求,申请获取courses/1367页
  • 服务器发送该页作为HTTP应答
  • 浏览器以相同的方式抓取(fetch)其他URL及其上的图片、视频等资源,并显示
  • 在不再收到请求一段时间后,TCP连接会被关闭并释放

HTTP

HTTP是一个基于TCP协议的请求——响应协议,使用80端口。它被使用的方式在不断演进,并不局限于web。

它的几大版本及其特点

HTTP1.0

每发送一次消息都建立一次TCP连接

image.png

HTTP 1.1(现在好像一般都是这个)

连接重用。

建立了一次连接后,可以不断进行请求-响应,直到连接中断。

image.png

还可以以一种管道的形式。即未收到原响应时就发送第二个请求(我的理解是这两个接连发送出去的请求就像在管道中先后发数据)

这两种方式也被称为“持久连接”。
image.png

为什么HTTP1.1的两种方式会更快呢?

  • 省去了多次建立TCP连接的开销
  • TCP连接中有一个“慢开始”机制(后面会再写文章提到),它是为了测探路径情况,一次建立也省去了这部分的开销。

在HTTP1.1的两种方式下,什么时候应该关闭TCP连接?

  • 内因:当双方都在一段时间内处于空闲状态,不再互发信息。

这个时间是可以设定的。

  • 外因:系统有大量连接,需要关闭一部分。

并行连接

理想做法是:系统 并行 建立多个 持久连接 。(保证它们之间相互独立、互不干扰)

HTTP的方法

以下列表显示了HTTP提供的方法:

方法 作用
GET 读取网页
POST 向网页中增加东西
HEAD 读取网页的首部
PUT 写入网页
DELETE 删除
CONNECT 连接
OPTIONS 查询选项

GET和POST的异同?

(关于这一部分,我对比了计网英文版小蓝书和自顶向下方法黑书中文版,归纳出来的结论如下:)

相同点:

  • GET和POST都可以用于SOAP(simple object access protocol)网页服务,通俗点理解就是都可以用来获取网页信息。
  • 不同点:

从POST的名字可以看出来,它除了可以读取之外,还可以放一点东西上去。

放了什么上去呢?小蓝书只是解释说“它向服务器上传了数据”;而大黑书解释得更清楚:
是HTTP请求报文中,有一个entity body的字段,如果使用POST方法,该字段就是用户在表单字段中的输入值;而如果使用GET,该字段为空。

表单提交一定只能用POST吗?

从前面的描述中我们引出了一个问题,那就是如果涉及到表单填写用POST,那是不是一定只能用POST呢?大黑书告诉我们不是的。

我的理解:
很常见的例子就是我们平时可以看到的一类拓展的URL。地址信息后面紧接着一些信息,用&隔开。

比如我们给后端测接口的时候要输入一些参数,apifox最后生成的链接其实就是我们输入的初始链接+参数名=参数值&的组合。

总结

可能以上说法还是有点绕。

再直观一点理解:

  • 前面提到的请求报文中的entry body可以理解为是“正文”,也就是说POST是把参数写入请求正文;
  • 而GET更直观一些,它的参数直接显示在了URL上,对用户也可见。

所以也不难理解,为什么之前总隐约听到别人讨论"POST比GET更安全了"。可能在他们看来,通过URL直接可见并不好,(不过HTTP报文不也是可以截获的么?个人感觉差别不是很大)。

参考书籍

  • 《Computer Network (the fifth edition)》Anrdew S.Tanenbaum等著
  • 《计算机网络自顶向下方法》詹姆斯.F.库罗斯等著
相关文章
|
15天前
|
前端开发 网络协议 安全
【网络原理】——HTTP协议、fiddler抓包
HTTP超文本传输,HTML,fiddler抓包,URL,urlencode,HTTP首行方法,GET方法,POST方法
|
15天前
|
存储 JSON 缓存
【网络原理】——HTTP请求头中的属性
HTTP请求头,HOST、Content-Agent、Content-Type、User-Agent、Referer、Cookie。
|
17天前
|
JSON Dart 前端开发
鸿蒙应用开发从入门到入行 - 篇7:http网络请求
在本篇文章里,您将掌握鸿蒙开发工具DevEco的基本使用、ArkUI里的基础组件,并通过制作一个简单界面掌握使用
57 8
|
16天前
|
数据采集 安全 搜索推荐
HTTP代理IP纯净度 提升用户网络体验的核心竞争力
随着互联网发展,使用HTTP动态代理IP的需求日益增加。高纯净度的代理IP在隐私与安全、网络体验和业务运营方面至关重要。它能保护用户信息、提高数据安全性、确保访问速度和连接稳定,并提升业务效率与信誉度。
39 2
|
21天前
|
缓存 负载均衡 监控
HTTP代理服务器在网络安全中的重要性
随着科技和互联网的发展,HTTP代理IP中的代理服务器在企业业务中扮演重要角色。其主要作用包括:保护用户信息、访问控制、缓存内容、负载均衡、日志记录和协议转换,从而在网络管理、性能优化和安全性方面发挥关键作用。
59 2
|
21天前
|
安全 网络协议 网络安全
网络不稳定导致HTTP代理频繁掉线的分析
随着数字化时代的加速发展,网络安全、隐私保护及内容访问自由成为用户核心需求。HTTP代理服务器因其独特技术优势受到青睐,但其掉线问题频发。本文分析了HTTP代理服务器不稳定导致掉线的主要原因,包括网络问题、服务器质量、用户配置错误及IP资源问题等方面。
70 0
|
2月前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
131 3
|
2月前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
77 11
|
2月前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
2月前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议

热门文章

最新文章