网络--应用层协议--HTTP

1、HTTP协议特性

1、HTTP协议(超文本传输协议):定义了客户端(如浏览器)与服务器之间的通信方式,以交换或传输超文本(超文本:视频、音频、文字等)

2、HTTP协议是客户端与服务器通信基础:客户端通过HTTP协议向服务器发送请求,服务器处理后返回响应。

3、HTTP协议是无连接、无状态的协议(每次请求,都要建立新的连接,不会保持旧连接-即无连接) ---> 因为HTTP底层协议是TCP,而TCP是要建立连接的,所以HTTP也是要建立连接的。

2、URL - Uniform Resource Locator(统一资源定位地址)

2.1、什么是URL

平时我们口中所说的网址,就是URL

http://user:pass@www.example.jp:80/dir/index.html?uid=1#ch1

 其中:

http:协议方案名(如https)

user:pass:登陆信息(认证)

www.example.jp:服务器地址(DNS技术,会自动将域名转换成IP地址)

80:服务器端口号

/dir/index.html:带层次的文件路径(一般index.html指该网页的首页)

uid=1:查询字符串参数

ch1=片段标识符

其中像/ ? # 这样的字符,已经被url当作特殊字符理解了(需要转义)

 为什么我们平时所见的网址没有这么详细呢?比如百度的首页网址:

https://www.baidu.con/index.html

 1、登陆信息(认证):不一定需要认证,并且登陆信息被浏览器记录即可。

2、为什么没有端口号呢:知名协议的端口号是强关联的,对于HTTP协议,服务器一旦启动,就是绑定80端口。所以可以忽略端口号。

3、第一个/:不一定是根目录,而是web根目录(即当前网页资源的根目录,不是系统根目录)。

4、后面的字符参数,不是每个页面都有,在特定需要输入信息(参数)的页面,才会出现。

2.2、再谈资源--URL中的资源路径

在HTTP这里,资源,统一可以认为是超文本资源。

在没有获取到资源前,这些资源都在服务器端。

我们通过HTTP协议,发起请求,服务器将资源放入响应中返回,我们便获取到资源。

而大部分服务器的底层都是Linux系统 -- Linux下,一切皆文件。

因此,获取资源,就是打开某个文件,获取文件数据。

想要打开文件,就得找到文件:

URL中:服务器地址(域名) +  默认端口 -> 确定唯一主机上的唯一进程。

带层次的资源路径:确定该主机上的唯一文件。

2.3、特殊字符转义--urlencode/urldecode

像/ ? 这样的特殊字符,已经被url当作特殊意义理解了,因此不能随意出现。

想要在参数中带有这些字符,就必须进行转义。

转义的规则如下:

将需要转义的字符转为16进制

从右到左,取4位(不足四位直接处理)

每2位做1位,前面加上%,编码成%XY的格式

例如:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《NoSQL 基础知识总结》

在当今的数据存储和管理领域,NoSQL 数据库正逐渐崭露头角,成为许多应用场景下的有力选择。今天,我们就来一起深入了解一下 NoSQL 的基础知识吧。 一、什么是 NoSQL? NoSQL,即 “Not Only SQL”,它是一种不…

性能测试需要关注哪些指标

响应时间 (Response Time) 定义:从用户发出请求到接收到响应的时间。 重要性:直接影响用户体验。响应时间过长会导致用户不满,甚至放弃使用。 度量:通常以毫秒 (ms) 为单位。吞吐量 (Throughput) 定义:单位时间内系统处…

【ARM Linux 系统稳定性分析入门及渐进 1.9.1 -- Crash 命令 System State 集合】

文章目录 Crash 工具的系统状态命令bt 命令dev 命令files 命令fuser 命令irq 命令kemem 命令log 命令mod 命令mount 命令net 命令Crash 工具的系统状态命令 大多数 crash 命令来自以下“内核感知”命令集,它们深入探讨系统范围或每个任务的各种内核子系统。任务特定的命令是上…

Cent OS-7的Apache服务配置

WWW是什么? WWW(World Wide Web,万维网)是一个全球性的信息空间,其中的文档和其他资源通过URL标识,并通过HTTP或其他协议访问。万维网是互联网的一个重要组成部分,但它并不是互联网的全部。互联…

淘淘商城实战高并发分布式项目(有源码)

通过百度网盘分享的文件:淘淘商城实战高并发分布式项目(有源码) 链接:https://pan.baidu.com/s/1V94gRALxHgMVwpcXoE-miA?pwdglu7 提取码:glu7 在互联网技术飞速发展的当下,高并发分布式项目成为了众多电商平台等大型应用的核心…

开放式耳机如何选择?五款千万不能错过的开放式耳机机型推荐

在这里我先做一个行业的知识科普,目前市场上有超过80%的品牌,都是非专业的开放式耳机品牌,也就是跨界大牌或者网红品牌,这些品牌由于没有开放式声学的技术沉淀,在制作开放式耳机的时候,通常都是直接套用传统…

补一下 二维 平面直角坐标系 到三维

上一篇帖子写到 二维的平面直角坐标系,是那样的,这次补充一下三维的。首先需要,安装一个包,如下: 然后,把参数输入,输入这个坐标系的参数,如下: 这样就可以输出如下的三…

bat调用Perl脚本接收不到参数

perl -d checkLog.pl --logfileE:\temp4\test.log --batch-name"Test-log"这样写在BAT文件里肯定能接收到参数 checkLog.pl --logfileE:\temp4\test.log --batch-name"Test-log" 但当这样写时,就不一定能接受到参数了! 现象:在Win11系统上还好,只需要在*.…

运算符的优先级(day9)

一、运算符优先级 1.","运算符 使用,可以分割多个语句,一般可以在声明多个变量时使用 2.就和数学一样,在JS中运算符也有优先级 比如:先乘除后加减 3.在JS中有一个运算符优先级的表 在表中越靠上优先级越高,优先级…

【机器学习】决定系数(R²:Coefficient of Determination)

决定系数,也称为 R 平方,是一种用于衡量回归模型预测效果的统计指标。它表示了模型解释目标变量总变异的程度,数值介于 0 和 1 之间,数值越接近 1 表明模型的解释力越强。 1. 的定义和公式 的公式如下: 其中&#xf…

Web 开发新趋势下,GET 请求与 POST 请求如何抉择

在 Web 开发中,GET 请求和 POST 请求是两种常见的 HTTP 方法,它们在多个方面存在着显著差异。 一、定义与参数传递方式 (一)GET 请求 定义:GET 请求用于从服务器获取资源,它是幂等的,即多次执…

推荐JDK1.8 API 中文文档

jdk api 1.8_google.CHM 一,CHM文件下载 最近更新 链接: 百度网盘 请输入提取码 提取码: e4rx 备用 链接: 百度网盘 请输入提取码 提取码: gczr 二,在线下载地址 https://www.oracle.com/java/technologies/javase-jdk8-doc-downloads.html 三&…

AscendC从入门到精通系列(一)初步感知AscendC

1 什么是AscendC Ascend C是CANN针对算子开发场景推出的编程语言,原生支持C和C标准规范,兼具开发效率和运行性能。基于Ascend C编写的算子程序,通过编译器编译和运行时调度,运行在昇腾AI处理器上。使用Ascend C,开发者…

XSS过滤器Filter实现

需求:xxs攻击过滤 测试发现代码转换成图片格式后,可以通过上传文件接口存在服务器上,再次打开时候会执行代码 项目背景:前端采用formajax提交数据,后端采用SpringMVC框架,RequestMapping注解的方法接收前…

Flutter下拉刷新上拉加载的简单实现方式一

方式一&#xff1a;RefreshIndicatorListView实现 import package:flutter/material.dart;class SimpleRefreshDemoPage extends StatefulWidget {const SimpleRefreshDemoPage({super.key});overrideState<StatefulWidget> createState() {return _SimpleRefreshDemoPa…

VectorDBQA 问答系统

我来解释一下VectorDBQA(Vector Database Question Answering)的用途和实现方式。 VectorDBQA 是一个强大的问答系统&#xff0c;它结合了向量数据库和问答功能。以下是它的主要用途和优势&#xff1a; 智能文档检索和问答 自动从大量文档中找到相关信息生成准确的答案支持对长…

静态库、动态库、framework、xcframework、use_frameworks!的作用、关联核心SDK工程和测试(主)工程、设备CPU架构

1.1库的概念 库&#xff1a;程序代码的集合&#xff0c;编译好的二进制文件加上头文件供使用&#xff0c;共享程序代码的一种方式。 1.2库的分类 根据开源情况分为&#xff1a;开源库&#xff08;能看到具体实现&#xff09;、闭源库&#xff08;只公开调用的的接口&#xf…

天地图入门|标注|移动飞行|缩放,商用地图替换

“天地图”是国家测绘地理信息局建设的地理信息综合服务网站。集成了来自国家、省、市&#xff08;县&#xff09;各级测绘地理信息部门&#xff0c;以及相关政府部门、企事业单位 、社会团体、公众的地理信息公共服务资源&#xff0c;如果做的项目是政府部门、企事业单位尽量选…

Webserver(5.3)线程池实现

目录 线程池locker.hthreadpool.h 线程池 相比于动态地创建子线程&#xff0c;选择一个已经存在的子线程的代价显然要小得多。至于主线程选择哪个子线程来为新任务服务&#xff0c;有多种方式&#xff1a; 主线程使用某种算法来主动选择子线程。最简单、最常用的算法是随机算…

【重装系统后重新配置2】pycharm 终端无法激活conda环境

pycharm 终端无法激活 conda 环境&#xff0c;但是 Windows本地终端是可以激活的 原因是pycharm 默认的终端是 Windows PowerShell 解决方法有两个&#xff1a; 一、在设置里&#xff0c;修改为cmd 二、下面直接选择