计算机网络 —— 应用层(万维网)

计算机网络 —— 应用层(万维网)

  • 万维网
      • 核心组成部分
      • 特点
  • URL
  • HTTP
      • 版本
      • 请求消息结构
      • 响应消息结构
      • 工作流程
  • Cookie
      • 如何工作
      • 主要用途
      • 安全与隐私
      • 类型
  • Web缓存
      • 客户端缓存(浏览器缓存)
      • 服务器端缓存

今天我们来了解万维网

万维网

万维网(World Wide Web,WWW,简称Web),是由英国科学家蒂姆·伯纳斯-李(Tim Berners-Lee)在1989年提出并实现的一个全球信息共享系统,是互联网上应用最为广泛的服务之一。万维网不是一个物理网络,而是一种分布式信息系统,它通过统一资源定位符(URL)来标识互联网上的文档和其他资源,并使用超文本传输协议(HTTP)进行信息的传输和展示。以下是万维网的几个核心组成部分和特点:

核心组成部分

  1. 统一资源定位符(URL):它是Web上的资源地址,用于唯一标识互联网上的每一个页面、图片、视频或文档等。URL包括协议类型(如http或https)、服务器地址、路径和文件名等。
  1. 超文本标记语言(HTML):这是一种标记语言,用于编写网页内容和结构。HTML通过一系列标签定义网页的文本、图像、链接等元素。
  1. 超链接(Hyperlinks):超链接是HTML的一个重要特性,它允许用户通过点击网页上的特定区域(如文字或图像)跳转到另一个网页或资源,实现了网页间的互联。
  1. 超文本传输协议(HTTP/HTTPS):HTTP是Web上数据通信的基础协议,负责在客户端(通常是浏览器)和服务器之间传输网页内容。HTTPS是HTTP的加密版本,提供了数据加密和身份验证,保证了通信的安全性。
  1. 网页浏览器:如Chrome、Firefox、Safari、Edge等,是用户访问Web的主要工具,负责解析HTML、CSS(层叠样式表)和JavaScript等,将网页内容渲染成用户可见的格式。

特点

  • 交互性:用户可以通过表单、按钮等与网站互动,提交信息或执行操作。
  • 动态内容:服务器可以根据请求生成动态页面,提供个性化或实时更新的内容。
  • 多媒体:Web不仅支持文本,还广泛支持图像、音频、视频等多种媒体形式。
  • 全球化:万维网打破了地理界限,使得信息可以在全球范围内迅速传播和分享。
  • 开放性:基于开放标准和技术,鼓励创新和信息自由流通。

在这里插入图片描述

万维网的出现极大地促进了信息的共享和交流,推动了电子商务、在线教育、社交媒体、云计算等多个领域的发展,深刻改变了人们获取信息、学习、工作和娱乐的方式。

URL

URL(Uniform Resource Locator,统一资源定位符)是用于标识互联网上资源位置的标准化地址格式。它提供了一种访问网络上的文档、图片、视频、服务等任何类型文件或资源的方法。URL通常包括以下几个部分:

  1. 协议方案(Scheme):定义了用于访问资源的协议类型,最常见的是http(不安全的超文本传输协议)和https(安全的超文本传输协议)。其他协议还包括ftp(文件传输协议)、mailto(电子邮件地址)等。
  1. 域名(Domain Name):标识了资源所在的服务器的名称。例如,在URL https://www.example.com/index.html 中,www.example.com 是域名。域名后面可能跟着端口号(Port),但默认的HTTP端口(80)和HTTPS端口(443)通常省略。
  1. 路径(Path):指定资源在服务器上的具体位置。它是URL中域名后的斜杠(/)之后的部分,用于指向服务器上的某个目录或文件。例如,/index.html 指向服务器根目录下的index.html 文件。
  1. 查询字符串(Query String):位于路径之后,以问号(?)开始,包含了一系列键值对,用于向服务器传递额外信息或参数。每个键值对之间用&分隔。例如,?page=1&sort=asc 用来指示请求第一页并按升序排序的数据。
  1. 片段标识符(Fragment Identifier):位于URL末尾,以井号(#)开始,用于定位文档内的某个特定部分。浏览器会直接滚动到该标识符所指的位置,常用于内部链接。例如,#section1 指向页面内的“section1”部分。

一个典型的URL示例是:

https://www.example.com/path/to/resource?query parameter1=value1&parameter2=value2#section

这个URL表示使用HTTPS协议访问www.example.com域名下/path/to/resource路径的资源,同时携带两个查询参数,并定位到页面内的section部分。

在这里插入图片描述

HTTP

HTTP(Hypertext Transfer Protocol,超文本传输协议)是互联网上应用最为广泛的一种网络协议,主要用于从万维网服务器传输超文本到本地浏览器的传输协议。它是一个基于请求与响应模型的、无状态的、应用层协议。HTTP协议工作在客户端(如Web浏览器)和服务器之间,定义了它们之间的通信格式和交互方式。以下是HTTP协议的一些关键概念和组成部分:

版本

  • HTTP/1.0:最早广泛应用的版本,引入了一些基本的请求方法(如GET, POST)和响应状态码。
  • HTTP/1.1:在1999年发布,增加了持久连接(keep-alive)、管道化(pipelining)请求、 Host 头域等特性,提高了效率和灵活性。
  • HTTP/2:于2015年正式发布,引入了多路复用(multiplexing)、二进制分帧层、服务器推送(server push)等特性,进一步优化了性能。
  • HTTP/3:基于QUIC(Quick UDP Internet Connections)传输层协议,旨在进一步降低延迟,提高安全性和效率。

请求消息结构

HTTP请求由三部分组成:请求行、请求头(Header)和请求正文(可选)。

  • 请求行:包括请求方法(GET、POST等)、请求URL和协议版本。
  • 请求头:包含了一系列键值对,提供了关于请求的附加信息,如User-Agent(客户端类型)、Accept(可接受的内容类型)、Cookie等。
  • 请求正文:通常在POST请求中使用,包含发送给服务器的数据。

响应消息结构

HTTP响应也由三部分组成:状态行、响应头和响应正文。

  • 状态行:包括协议版本、状态码(如200 OK、404 Not Found)和状态消息。
  • 响应头:提供了关于响应的元数据,如Content-Type(响应内容类型)、Content-Length(响应正文长度)、Set-Cookie等。
  • 响应正文:服务器返回的具体数据,可以是HTML页面、图片、JSON数据等。

工作流程

  1. 客户端发起请求:用户在浏览器中输入网址或点击链接时,浏览器构建一个HTTP请求并发送给服务器。
  2. 服务器处理请求:服务器接收到请求后,根据请求的内容执行相应的操作,如查找文件、运行脚本等。
  3. 服务器返回响应:服务器将处理结果封装成HTTP响应,包括状态码、响应头和可能的响应正文,发送回客户端。
  4. 客户端解析响应:浏览器接收响应,根据状态码判断请求是否成功,然后解析响应内容,渲染页面或执行其他操作。

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述这里我们简单介绍一下HTTP,如果想看HTTP的详细介绍,可以点击这里:

https://blog.csdn.net/qq_67693066/article/details/136895597

Cookie

Cookie是网站为了标识用户身份、存储用户偏好设置或跟踪用户浏览会话而在用户设备(通常是浏览器)上存储的小型文本文件。它们是HTTP协议的一部分,用于维持用户与网站之间的状态信息。Cookie的工作机制和用途主要包括以下几点:

如何工作

  1. 设置Cookie:当用户首次访问一个网站时,服务器可以在HTTP响应头中包含一个Set-Cookie字段,向用户的浏览器发送一个或多个Cookie。每个Cookie包含一个名称、值以及可能的其他属性(如过期时间、路径、域等)。
  1. 发送Cookie:之后,每当浏览器向该网站发送请求时,都会自动在HTTP请求头中包含之前设置的所有未过期的、与请求URL匹配的Cookie。
  1. 服务器读取Cookie:服务器通过HTTP请求头中的Cookie字段读取这些信息,据此识别用户状态或提供个性化内容。

主要用途

  1. 会话管理:保持用户的登录状态,让用户在不同页面间导航时保持登录,无需在每次请求时重新认证。
  1. 个性化设置:记住用户的偏好设置,如语言选择、主题设置等,以提供个性化的用户体验。
  1. 追踪分析:记录用户的浏览行为,用于网站分析、广告投放或优化网页内容。
  1. 购物车功能:在电商网站中,Cookie可用于临时存储用户放入购物车的商品信息,直到用户完成购买。

安全与隐私

  • 安全问题:Cookie可能被用于跨站脚本攻击(XSS)或跨站请求伪造(CSRF)等安全威胁,因此敏感信息不应直接存储在Cookie中,而应使用安全的HTTP-only Cookie或服务器端会话。
  • 隐私考虑:由于Cookie能够跟踪用户行为,引发了隐私担忧。GDPR(欧盟通用数据保护条例)等法规要求网站必须明确告知用户Cookie的使用情况,并获得同意。

类型

  • 会话Cookie:不设置过期时间,当浏览器关闭时自动删除。
  • 持久性Cookie:设置了过期时间,即使浏览器关闭,也在指定日期前保持有效。

在这里插入图片描述在这里插入图片描述

总之,Cookie是网站与用户浏览器之间交换信息的一种方式,对于提升用户体验、实现网站功能至关重要,但也需要妥善管理以保障用户隐私和安全。如果还想了解更多Cookie的信息,可以点击这里:

https://blog.csdn.net/qq_67693066/article/details/137097682

Web缓存

Web缓存,也称为HTTP缓存,是一种提高网页加载速度和降低服务器负载的技术。它通过存储Web资源(如HTML页面、图片、JavaScript文件等)的副本,使得后续的请求可以直接从缓存中获取内容,而无需再次从原始服务器下载。Web缓存机制主要体现在客户端(浏览器缓存)和服务器端(代理缓存、CDN缓存等)两个层面,其工作原理和优势如下:

客户端缓存(浏览器缓存)

  1. 工作原理:当浏览器首次请求某个资源时,服务器在响应中会包含一些缓存相关的HTTP头信息,如Cache-ControlExpiresETagLast-Modified等,指导浏览器何时及如何缓存资源。下次请求相同资源时,浏览器先检查本地缓存,如果缓存有效(未过期且未被修改),则直接使用缓存中的副本,否则向服务器发出请求。

  2. 优势:减少页面加载时间,节省带宽,提升用户体验。

服务器端缓存

  1. 代理缓存位于客户端与源服务器之间的代理服务器上,可以为多个用户提供共享的缓存资源。当多个用户请求相同资源时,代理服务器可以直接提供缓存的副本,而无需每个请求都转发到源服务器。
  1. CDN缓存(内容分发网络):CDN是一种分布式网络服务,将网站内容缓存在全球各地的边缘节点上。用户请求时,会被导向最近的CDN节点,从而加速内容的传输。CDN特别适用于静态资源的分发,如图片、视频和大型文件。
  1. 工作原理与优势:服务器端缓存通过减少源服务器的负载、缩短数据传输距离,进一步提升了网站的响应速度和可用性,尤其在全球范围内访问时效果显著。

在这里插入图片描述在这里插入图片描述

Web缓存机制是现代互联网高效运作的关键技术之一,通过合理配置和利用缓存策略,可以显著提升网站性能和用户体验。

我们来看两道题:
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/726798.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

元宇宙与AI推动品牌营销进入全智能时代

近日,在2024年T-EDGE未来科技大会上,30位业界领袖、产业优秀企业代表,分享以AI为代表的新技术赋能科技产业,抓住中国企业全球化、数字化营销、绿色经济、智能家居多个产业和领域的创新发展趋势,以四大热门议题&#xf…

ffmpeg.dll丢失怎么办,解决找不到ffmpeg.dll的多种方法分享

ffmpeg.dll 是一个动态链接库文件,它是FFmpeg多媒体框架的一部分。FFmpeg是一个开源项目,可以用来记录、转换数字音视频,也可以转换成不同格式的流媒体。由于它是许多媒体处理任务的核心组件,ffmpeg.dll 缺失或损坏可能会导致依赖…

Windows11+CUDA12.0+RTX4090如何配置安装Tensorflow2-GPU环境?

1 引言 电脑配置 Windows 11 cuda 12.0 RTX4090 由于tensorflow2官网已经不支持cuda11以上的版本了,配置cuda和tensorflow可以通过以下步骤配置实现。 2 步骤 (1)创建conda环境并安装cuda和cudnn,以及安装tensorflow2.10 con…

视频二维码怎么设置全屏播放?默认全屏效果的添加技巧

视频做成二维码如何全屏展示呢?现在很多人都会将视频生成二维码后,分享二维码给其他人来扫码查看视频内容,设置视频默认全屏播放可以带来展示更好的效果,那么横版和竖版视频扫码自动全屏播放是如何生成的呢? 视频二维…

如何用Vue3打造一个令人惊叹的极坐标图

本文由ScriptEcho平台提供技术支持 项目地址:传送门 使用 Vue3-ApexCharts 绘制极地区域图 应用场景 极地区域图常用于展示具有周期性或分类性数据的分布情况,例如不同月份的销售额、不同年龄段的人口分布等。 基本功能 此代码使用 Vue3-ApexChart…

C++ 59 之 纯虚函数和抽象类

#include <iostream> #include <string> using namespace std;class Cal { // 类中有纯虚函数&#xff0c;这个类也叫做抽象类&#xff0c;无法实现实例化 public:int m_a;int m_b;// 虚函数// virtual int getRes(){// return 0;// }// 纯虚函数 作用和虚函数…

深入探究RTOS的IPC机制----邮箱

阅读引言&#xff1a; 因为将来工作需要&#xff0c; 最近在深入学习OS的内部机制&#xff0c;我把我觉得重要的、核心的东西分享出来&#xff0c; 希望对有需要的人有所帮助&#xff0c; 阅读此文需要读友有RTOS基础&#xff0c; 以及一些操作系统的基础知识&#xff0c; 学习…

24上软考成绩预计6月底公布?附查分指南

最近&#xff0c;很多小伙伴都在问上半年成绩什么时候出来&#xff1f;每天学习群变成了祈祷群&#xff0c;都在祈祷45,45,45。按照上一次的成绩发布时间&#xff0c;从考试结束到成绩发布&#xff0c;间隔了32天。这次是不是会更快&#xff1f; 一般阅卷只要7-10天&#xff0c…

【踩坑】修复Ubuntu远程桌面忽然无法Ctrl C/V复制粘贴及黑屏

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 说在前面&#xff1a; 需要注意的是&#xff0c;我发现他应该是新开了一个窗口给我。我之前打开的东西&#xff0c;在这个新窗口里都没有了&#xff0c…

IngsollRang模块化控制器上电无显示维修

英格索兰模块化控制器是工业领域的重要设备&#xff0c;在许多工业生产过程中起着关键的控制作用。然而&#xff0c;当出现IngsollRang控制器上电无显示故障时&#xff0c;不仅会影响生产进度&#xff0c;还可能带来安全隐患。 一、IngsollRang模块化控制器故障诊断 1. 检查电源…

代码讲解——ssm+jsp+maven项目目录结构说明

1 applicationContext.xml 应用上下文配置 2 db.properties 数据库配置 3 log4j.properties日志配置 4 mybatis-config.xml mybatis配置 5 springmvc.xml springmvc配置

语音翻译软件app哪家好?三分钟带你揭秘语音翻译的奥秘~

自打前段时间我国开放了144小时的免签政策&#xff0c;现在各个旅游景点几乎随处可见来自世界各地的外国友人。倘若在大街上遇到外国游客向你问路&#xff0c;为了避免语言不通的尴尬情形&#xff0c;手里头常备着好用的语音翻译软件总是必要的&#xff01; 即使当下你还不清楚…

jar包运行脚本

start&#xff1a; # 启动项目 #!/bin/bash nohup java -jar audit-2.1.0.jar > app.log 2>&1 & quit&#xff1a; # 关闭程序 #!/bin/bash PID$(pgrep -f audit-2.1.0.jar) # 根据应用程序名称查找进程ID kill -9 $PID # 结束进程使用 sh命令运行

10W+人都在看的年度技术精选、游戏行业安全、私域、AI实践指南报告整合,码住!

在网易工作了十多年&#xff0c;不说别的&#xff0c;小智在这里光学习就学习到很多干货&#xff0c;今天将这些干货内容统一分享给同仁&#xff01;真的是集齐精华&#xff0c;大家先点赞收藏关注&#x1f44d; 往年&#xff0c;基于网易数智在娱乐社交、游戏、泛零售、政务、…

中学生数理化杂志中学生数理化杂志社中学生数理化编辑部2024年第3期目录

卷首语 坚持努力的二月河 韵致; 1 创新教育 高中化学教学中学生核心素养的培养 孙成扣; 4 核心素养视角下如何开展化学课堂教学策略 于海燕; 5《中学生数理化》投稿&#xff1a;cn7kantougao163.com 探讨初中化学实验教学中学生证据推理能力的培养策略 徐静; 6…

精华版 | 2024 Q1全球威胁报告一览

概要 Q1最热门的安全事件是XZ/liblzma后门高危漏洞。开发人员Andres Freund一次偶然情况下&#xff0c;发现了XZ/liblzma存在后门并对该漏洞进行报告。XZ/liblzma是一个广泛使用的开源工具&#xff0c;掌握该后门攻击者几乎可以访问任何运行受感染发行版的 Linux 机器。这一事…

AI时代下的自动化代码审计工具

代码审计工具分享 吉祥学安全知识星球&#x1f517;除了包含技术干货&#xff1a;Java代码审计、web安全、应急响应等&#xff0c;还包含了安全中常见的售前护网案例、售前方案、ppt等&#xff0c;同时也有面向学生的网络安全面试、护网面试等。 这两年一直都在提“安全左移”&…

用AI面试测日语,五羊本田的AI招聘新体验!

作为摩托车行业的佼佼者&#xff0c;五羊本田的产品不仅以其卓越的性能赢得了市场的广泛认可&#xff0c;更凭借其对时尚和潮流的敏锐捕捉&#xff0c;成为了无数年轻人心中的梦想座驾。在招聘中&#xff0c;五羊本田同样展现出了其对趋势和时代潮流的准确把握。随着人工智能技…

SpringBoot引入外部依赖包

将需要引入的文件放置到与src同级别的目录下 如上&#xff0c;在src的同级&#xff0c;新建了一个lib目录&#xff0c;将jar包放置其中 在POM文件下&#xff0c;加入如下配置 <dependency><groupId>com.aliyun</groupId><artifactId>com.aliyun.filed…

JavaEE多线程(2)

文章目录 1..多线程的安全1.1出现多线程不安全的原因1.2解决多线程不安全的⽅法1.3三种典型死锁场景1.4如何避免死锁问题2.线程等待通知机制2.1等待通知的作用2.2等待通知的方法——wait2.3唤醒wait的方法——notify 1…多线程的安全 1.1出现多线程不安全的原因 线程在系统中…