41、web基础和http协议

web基础与http协议

一、web

  • web:就是我们所说得页面,打开网页展示得页面。(全球广域网,万维网)

  • world wide web=www

  • 分布式图形信息系统

  • 在这里插入图片描述

  • http:超文本传输协议

  • https:加密的超文本传输协议

1.1、分布式

  • 分布式:计算机系统或者应用程序分布在多台的计算机在服务器上。通过计算机网络互相通信和写作。共同完成任务或者共同对外提供一致的服务。分布式设计的目标,把工作分在分散到多个节点上。
  • 每个节点即一个整体,也是一个独立运行体。这种设计提供了高可用的架构,允许分布式节点的服务器出现故障。

1.2、集群:

  • 集群:集群建立在分布式的基础之上,把多台计算机或者服务器连接在一起,作为一个整体,形成一个单一的计算资源。

  • 也是通过网络连接,共享资源和任务负载,实行高性能和高可用。这些计算机或者服务器,性能基本一致。

  • 运行的服务或者应用程序都一致。

  • 集群的目标:通过增加节点和减少节点实现弹性伸缩,提高处理能力和容量。

  • 数据中心,web服务器都是出于集群,大数据处理等等。

1.3、web的组成结构:

网页:纯文本格式的文件,HTML语言超文本标记语言,是一种规范,也是一种标准。

通过标记符号来显示网页中的各个部分。

一般来说,我们访问的页面都是.html或者.htm(也是网站的首页)

浏览器把html语言进行翻译,形成用户看到的页面。

网站:由一个一个的页面组成,是一个网页的结合体。

域名:访问网站或者浏览网页时,输入的地址(网址)。

www.baidu.com----ip地址

http/https:用来传输网页的通信协议。https就是加密的。是一种客户端和服务端之间通信,交互的标准和规范。

URL:万维网的寻址系统,是网站在物联网上的唯一标识。

https://show.bilibili.com/platform/home.html?msource=pc web&spm id from=666.5.0.0 #整体就是URL
URI: platform/home.html?msource=pc web&spm id from=666.5.0.0 ##com后就是URI和子URI

超链接:超链接把网站中的不同网页连接起来。<a>

发布:把制作好的网页部署到互联网上,可以分为内和外。

内部访问:不能提高互联网的对外访问,只能内部的局域网访问。

外部访问:互联网上公开的页面,所有人都可以访问的网页。

web1.0:网页编辑好之后,用户直接阅读内容,用户无法对页面进行编辑,更改,创建其他内容。网站到用户----单向的。

web2.0:用户访问编辑好的页面,但是这个页面用户可以对其进行二次开发,分享,弹幕,点赞,送礼等等都死web2.0的新特征。

1.4、静态页面:

静态页面,就是标准的html文件,文件的扩展名.html,.htm

纯文本,图像,声音,动画等等组成的一个画面。

网站建设的基础,早期的网站都是静态页面,没有静态页面,没有后台数据,没有其他的程序,也无法交互的页面。只能看

更新起来比较麻烦,展示型的网站,更新内容比较少的网站。

静态页面的YRL地址是固定的,内容相对稳定,容易被搜索引擎检索。

页面的浏览速度比较快。没有后台程序,不需要连接数据库,页面打开的比较快。

1.5、态页面:

网页URL不固定,用户可以和后台进行进行交互(数据库)

在动态页面的URL里面有一个符号?

动态页面用的是PHP,JSP,python,ruby

动态页面的特点:

1、交互性,用户可以对网站发布的内容进行二次创造

2、自动更新

3、页面的内容会实时的发生变化

区别:

1、静态页面 只能看

2、动态页面 交互

二、http协议和返回码:

http 0.9

http 1.0 基本淘汰

http 1.1 目前的主流

http 2.0 加密的协议,新一代的加密协议,http1.1升级版

面试题:

2.1、http 1.0和http 1.1之间的区别:

1、缓存机制:

缓存可以把用户的一些行为和操作,保存下来,下一次再访问,可以保留这些状态,不需要再和web服务器进行额外的通信,提高访问的效率。

缓存有的是保存在本地,有的是保存在web服务器。

缓存基本上都是保存在用户的本机(缓存由浏览器保存)

缓存的保留时间,30-180天。

一般网站都是30天。

http 1.0只有一种缓存策略。

http 1.1引入了更多的缓存策略。

2、长连接

http 1.1支持长连接,在一个tcp连接上可以传送多个http请求和响应。

一次性获取页面的所有内容。

3、带宽优化和网络连接的使用:

http 1.0一次只能获取一个个对象,其他对象还要继续的建立连接获取数据。

http 1.1只要建立了连接,除非数据发送完毕,否则不需要为了其他的资源专门的再建立额外的连接。

2.2、http的工作方式:

请求-----客户端发起

请求的方式:GET POST

请求的内容:

请求头

请求体

:method:GET–请求的方式 method get

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng---------------------------客户端可以接受的数据类型

Accept-Encoding: gzip, deflate, br, zstd----------客户端可以接受的编码格式

Accept-Language: zh-CN,zh;q=0.9,en;q=0.8-----客户端可以接受的语言类型

Cache-Control: max-age=0---------------------------客户端需要页面缓存的时间

Connection: keep-alive----------------------客户端通知服务端,服务端在数据传送完毕之后,不要马上关闭连接,让连接保持一段时间(60s.120s 180s)

Host: www.csdn.net-----------------------表示客户端请求的ip和端口

User-Agent: Mozilla/5.0 (windows NT 10.0; Win64;, x64) ApplewebKit537.36 (KHTML, like Gecko) chrome/126.0.0.0Safari/537.36--------------客户端的请求的工具,用什么浏览器发起的请求以及发起的系统是什么。

响应的时间响应---------------服务端发起

响应体:

Connection: keep-alive-------------响应客户端的连接方式

Content-Encoding: gzip------------响应客户端的编码

Content-Type: text/html; charset=utf-8-----响应客户端的类型,发送数据的类型

Date: Mon, 01 jul 2024 03:23:36 GMT-------响应的时间

Server: WAF-------使用web服务的软件和版本

Strict-Transport-Security: max-age=0; preload----相应客户端的缓存时间

在这里插入图片描述

Request Method: GET
Status Code: 200 OK

请求的方式是GET,status code:请求收到之后,服务端对请求的响应的状态码。

服务端对请求的响应的状态码

  1. 1xx 100 101 信息提示

  2. 2xx 200-206 成功

  3. 3xx 300-305 重定向和缓存

  4. 4xx 400-415 客户端错误(客户端请求的内容或者页面不存在)

  5. 5xx 500-505 服务端错误 web服务软件本身出了故障,无法响应。

http常见的状态码:

  1. 200 ok 请求成功

  2. 301 永久重定向,请求的页面会永久到其他页面。

  3. 在这里插入图片描述

  4. 302 临时重定向,网站维护时使用

  5. 304 访问的是本地缓存

  6. 403 用户的请求禁止访问

  7. 404 用户请求的网页不存在

  8. 500 内部服务错误,一般是软件层面也可能是硬件故障,也可能是防火墙

  9. 502:bad gatway 无效网关(防火墙,限制了转发功能)

  10. 503:service unavailable 服务不可用

  11. 504 gatway timeout 网关请求超时

GET和POST:

GET就是向服务器发送请求,请求不带任何参数,由http协议自行约定的。

post也是发送数据,也是依照http协议,post会更改服务器的数据。post之后会在服务器上多一条数据。或者对原数据进行了修改。

区别:

  1. get请求可以被缓存的,post没有缓存

  2. get的请求记录会保存在浏览记录(cooike),post不会被保存。

  3. get就是获取数据,post会修改数据。

  4. get的请求长度是有限制的,而且请求的字符串会显示在URL当中。

  5. post请求没有长度限制的,而且字符串不在URL当中显示

动态页面.jsp .js .php为结尾的文件。

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

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

相关文章

身边的故事(十二):阿文的故事:消失

那以后就再也没有任何阿文的消息。刚开始还打过几次电话&#xff0c;他都没接。后来也就慢慢的淡忘了&#xff0c;为自己的工作生活而奔波&#xff0c;时间冲淡一切。在那几年里&#xff0c;阿文就像消失了一样。直到2021的某一天&#xff0c;电话那端传来了熟悉但是有点陌生的…

Ubuntu DNS服务配置 深度解析

测试方法 resolvectl status dig alidns.com 修改实践 直接用接口配置&#xff0c;没用 /etc/resolv.conf&#xff0c;有效 /etc/netplan/01-network-manager-all.yaml,无效 /etc/systemd/resolved.conf&#xff0c;见link&#xff0c;为全局配置 [Resolve] DNS1.1.1.1 Fa…

基于SpringBoot扶农助农政策管理系统设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;…

Python容器 之 列表--定义

1.什么是列表呢&#xff1f; 列表(list)是 Python 中使用最频繁的数据类型, 在其他语言中通常叫做数组, 专门用来存储一组数据 列表,list, 使用 [ ] 列表可以存放任意多个数据 列表中可以存放任意类型的数据 列表中数据之间 使用 逗号隔开 2.列表如何定义&#xff1f; &#…

springcloud-config服务器,同样的配置在linux环境下不生效

原本在windows下能争取的获取远程配置但是部署到linux上死活都没有内容&#xff0c;然后开始了远程调试&#xff0c;这里顺带讲解下获取配置文件如果使用的是Git源&#xff0c;config service是如何响应接口并返回配置信息的。先说问题&#xff0c;我的服务名原本是abc-abc-abc…

【数据结构】栈和队列-相互实现OJ题

前言&#xff1a; 本题目是关于栈和队列的OJ题目&#xff0c;需对栈和队列有一定了解再进行做题&#xff0c;若不了解可以根据我之前这篇文章进行学习&#xff1a;【数据结构】栈和队列-CSDN博客,题中需要的栈和队列的实现也在该文章中有源代码 目录 前言&#xff1a; 一.用…

科普文:一文搞懂jvm原理(三)执行引擎

概叙 科普文&#xff1a;一文搞懂jvm(一)jvm概叙-CSDN博客 科普文&#xff1a;一文搞懂jvm原理(二)类加载器-CSDN博客 前面我们介绍了jvm&#xff0c;jvm主要包括两个子系统和两个组件&#xff1a; Class loader(类装载器) 子系统&#xff0c;Execution engine(执行引擎) 子系…

扩展学习|风险评估和风险管理:回顾其基础上的最新进展

文献来源&#xff1a;[1]Aven, T. (2016). Risk assessment and risk management: Review of recent advances on their foundation. European journal of operational research, 253(1), 1-13. 文章简介&#xff1a;大约30-40年前&#xff0c;风险评估和管理被确立为一个科学领…

如何使用 SPM 插件从 Pkl 配置文件生成 Swift 接口

文章目录 前言示例展示 Pkl 配置生成 Swift 绑定手动安装和使用 pkl-gen-swift创建 SPM 命令插件加载 Pkl 配置总结前言 Pkl(全称为 Pickle)是苹果推出的一种全新的专用于配置的编程语言。它允许开发人员通过类型和内置验证安全、直观地设计数据模型。 作为苹果语言,Pkl 有…

小阿轩yx-Nginx 网站服务

小阿轩yx-Nginx 网站服务 由俄罗斯的 lgor Sysoev 开发其稳定、高效的特性逐渐被越来越多的用户认可 Nginx 服务基础 Nginx (发音为[engine x])专为性能优化而开发 最知名的优点 稳定性低系统资源消耗以及对 HTTP 并发连接的高处理能力(单台物理服务器可支持 30000~50000个…

Mysql面试合集

概念 是一个开源的关系型数据库。 数据库事务及其特性 事务&#xff1a;是一系列的数据库操作&#xff0c;是数据库应用的基本逻辑单位。 事务特性&#xff1a; &#xff08;1&#xff09;原子性&#xff1a;即不可分割性&#xff0c;事务要么全部被执行&#xff0c;要么就…

文件操作~

目录 1.为什么使用文件&#xff1f; 2.什么是文件&#xff1f; 2.1 程序文件 2.2 数据文件 2.3 文件名 3.⼆进制文件和文本文件&#xff1f; 4.文件的打开和关闭 4.1 流和标准流 4.1.1 流 4.1.2 标准流 4.2 文件指针 4.3 ⽂件的打开和关闭 5.文件的顺序读写 5.1 …

Optional类方法

Optional类 方法empty()方法of(T value)ofNullable(T value)filter(Predicate<? super T> predicate)get()ifPresent(Consumer<? super T> consumer)isPresent()map(Function<? super T,? extends U> mapper)orElse(T other)orElseGet(Supplier<? ex…

PostgreSQL介绍与安装

一、PostgreSQL数据库介绍 1、什么是数据库&#xff1f; 数据库&#xff08;Database&#xff09;是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建&#xff0c;访问&#xff0c;管理&#xff0c;搜索和复制所保存的数据。 我们也…

论文复现---基于随机蕨的快速相位差DOA估计

本篇文章是博主在通信等领域学习时&#xff0c;用于个人学习、研究或者欣赏使用&#xff0c;并基于博主对通信等领域的一些理解而记录的学习摘录和笔记&#xff0c;若有不当和侵权之处&#xff0c;指出后将会立即改正&#xff0c;还望谅解。文章分类在通信领域笔记&#xff1a;…

#笔记# 写给自己用的小爬虫

最近完成了一个文旅行业信息聚合的小应用&#xff0c;实现仅从一个入口了解全行业的信息动态&#xff0c;不用一个一个翻看各网站&#xff0c;节省了不少检索时间。 一、基本思路 明确数据来源。基于前述目标&#xff0c;确定数据源为文化和旅游部管理部门官网&#xff0c;比…

二维数组-----螺旋性矩阵输出

题目有点难&#xff0c;ok其实是很难。。。 观察样例输出&#xff0c;不难发现&#xff0c;螺旋数组中元素的递增轨迹为&#xff1a;右右右、下下下、左左左、上上上 简明为&#xff1a;右、下、左、上。可以设开始递增的元素1的位置为&#xff08;x&#xff0c;y)&#xff0c…

如何用大模型RAG做医疗问答系统

代码参考 https://github.com/honeyandme/RAGQnASystemhttps://github.com/LongxingTan/open-retrievals TLDR if 疾病症状 in entities and 疾病 not in entities:sql_q "match (a:疾病)-[r:疾病的症状]->(b:疾病症状 {名称:%s}) return a.名称" % (entitie…

某配送平台未授权访问和弱口令(附赠nuclei默认密码验证脚本)

找到一个某src的子站&#xff0c;通过信息收集插件&#xff0c;发现ZABBIX-监控系统&#xff0c;可以日一下 使用谷歌搜索历史漏洞&#xff1a;zabbix漏洞 通过目录扫描扫描到后台&#xff0c;谷歌搜索一下有没有默认弱口令 成功进去了&#xff0c;挖洞就是这么简单 搜索文章还…

告别流失,拥抱增长!Xinstall智能邀请系统,让你的App拉新更高效

在移动互联网时代&#xff0c;App的推广和运营面临着诸多挑战。其中&#xff0c;如何有效地进行邀请拉新活动&#xff0c;吸引更多新用户&#xff0c;成为了每个运营者都需要面对的问题。今天&#xff0c;我们将为大家介绍一款能够帮助你轻松解决这一难题的神器——Xinstall。 …