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为结尾的文件。

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

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

相关文章

猫冻干可以天天喂吗?喂冻干前要了解的必入主食冻干榜单

近年来&#xff0c;冻干猫粮因其高品质而备受喜爱&#xff0c;吸引了无数猫主人的目光&#xff0c;对于像我这样的养猫达人来说&#xff0c;早已尝试并认可了冻干喂养。然而&#xff0c;对于初入养猫行列的新手们来说&#xff0c;可能会有疑问&#xff1a;什么是冻干猫粮&#…

Qt——界面优化

目录 QSS 基本语法 QSS 设置方式 指定控件样式设置 全局样式设置 文件加载样式表 Qt Designer 编辑样式 选择器 子控件选择器 伪类选择器 样式属性 盒模型 控件样式 按钮 复选框 单选框 输入框 列表 菜单栏 登录界面 绘图 概念 绘制形状 绘制线段 绘制…

微信换手机号了怎么绑定新手机号?

微信换手机号了怎么绑定新手机号&#xff1f; 1、在手机上找到并打开微信&#xff1b; 2、打开微信后&#xff0c;点击底部我的&#xff0c;并进入微信设置&#xff1b; 3、在微信设置账号与安全内&#xff0c;找到手机号并点击进入&#xff1b; 4、选择更换手机号&#xff0c…

【代码随想录算法训练Day52】LeetCode 647. 回文子串、LeetCode 516.最长回文子串

Day51 动态规划第十三天 LeetCode 647. 回文子串 dp数组的含义&#xff1a;i到j的子串是否是回文的&#xff0c;是的话dp[i][j]1 递推公式&#xff1a;if(s[i]s[j]) i j 一个元素 是回文的 |i-j|1 两个元素 是回文的 j-i>1 判断dp[i1][j-1] 初始化&#xff1a;全部初始化成…

在代理服务器环境中配置pip源的全面指南

引言 Python的包管理工具pip是开发者和系统管理员常用的工具之一&#xff0c;用于安装和管理Python库。然而&#xff0c;在某些网络环境下&#xff0c;如公司内网或某些国家&#xff0c;直接访问pip默认源可能会受到限制。此外&#xff0c;通过代理服务器访问可以提高访问速度…

淘系-万相台无界实操运营课:淘系 付费工具课(40节课)

课程目录 01_万相台无界系统性忖费推广思维.mp4 02_万相台无界七大推广场景详解.mp4 03关键词推广计划之标准计划搭建技巧.mp4 04_关键词推广之智能计划推广技巧.mp4 05_关键词推广之趋势选品计划推广技巧.mp4 06关键词推广之智能选品计划推广技巧.mp4 07_非标品的关键词…

MacOS升级指定Python版本的pip

场景&#xff1a; 系统默认是Python2.7&#xff0c;已经通过brew install python3.11 python3.12安装了多个版本的Python 执行&#xff1a;pip --version pip 24.1 from /Users/mac10.12/Library/Python/3.11/lib/python/site-packages/pip (python 3.11) 用的是Python3.11…

待办工作如何在桌面分区显示

在现代快节奏的工作环境中&#xff0c;我们每天都要处理大量的待办事项。面对这些繁多的事项&#xff0c;很多人常常感到无从下手&#xff0c;导致工作任务堆积&#xff0c;影响工作效率。那么&#xff0c;如何在繁杂的事项中保持清晰&#xff0c;让工作更有条理呢&#xff1f;…

旋转变压器软件解码simulink仿真

1.介绍 旋转变压器是一种精密的位置、速度检测装置&#xff0c;尤其适用于高温、严寒、潮湿、高速、振动等环境恶劣、旋转编码器无法正常工作的场合。旋转变压器在使用时并不能直接提供角度或位置信息&#xff0c;需要特殊的激励信号和解调、计算措施&#xff0c;才能将旋转变压…

每隔一个小时gc一次的问题

原文地址https://www.cnblogs.com/jiangxinlingdu/p/7581064.html 设置一下这个 -XX:ExplicitGCInvokesConcurrent 或 -XXExplicitGCInvokesConcurrentAndUnloadsClasses 并且检查一下&#xff0c;并下面的值设置变大 java.rmi.dgc.leaseValue sun.rmi.dgc.client.gcInterv…

EFCore_查询延迟执行机制及基于此的动态SQL拼接

延迟机制简述 对实体&#xff08;DbSet&#xff09;执行条件查询后&#xff0c;对应的SQL未必生成、执行&#xff0c;通常在执行了终结方法SQL才会真正地生成并执行 var books dbContext.Books.Where(e > e.Price > 0); 题外话&#xff1a;EFCore的数据读取策略是片段…

Hamster (CHO) PLBL2 ELISA Kit—仓鼠(CHO) PLBL2 ELISA试剂盒

宿主细胞蛋白&#xff08;HCP&#xff09;是生物制药过程中产生的一类主要杂质&#xff0c;是重组疫苗及重组抗体类药物的重要质控指标。虽然大部分HCP可以在早期的纯化步骤中除去&#xff0c;但是仍有一些HCP会通过纯化系统携带&#xff0c;可以躲过常规HCP ELISA检测。ICL的H…

2024-07-01 ARM作业

串口通讯实验 结果&#xff1a;没完成 main.c #include "uart4.h" char Str; int main() {//串口通信初始化hal_uart_init();while(1){// hal_delayms(1000);// Str hal_get_char();// if(Str){// hal_put_char(Str1);// }}return 0; } uart4.c #include &quo…

Java 线程的生命周期管理

引言 线程是 Java 编程中重要的概念之一。通过多线程&#xff0c;程序可以同时执行多个任务&#xff0c;提高效率和响应能力。理解和管理线程的生命周期是编写高效并发程序的关键。本文将详细介绍 Java 线程的生命周期管理&#xff0c;并解释几种关键方法&#xff1a;start()、…

第7篇 智能合约是什么?——从产品经理视角看智能合约

引言 亲爱的读者们,欢迎大家来到我们的《区块链常识:从小白到顶级行业专家》专栏的第7篇!今天,我们要揭开智能合约的神秘面纱。别担心,这不是法律术语的堆砌,也不是代码的迷宫,而是一个让你在区块链上实现奇妙想法的魔法工具。准备好了吗?让我们开始吧! 智能合约的定…

RedHat9 | podman容器-续集

一、管理容器存储和网络资源 使用容器来运行简单的进程&#xff0c;然后退出。可以配置容连续运行特定服务&#xff0c;如数据库服务。如果持续运行服务&#xff0c;需要向容器添加更多的资源&#xff0c;如持久存储或对其他网络的访问权限。 针对企业容器平台上的大型部署&a…

为Ubuntu-24.04-live-server-amd64磁盘扩容

系列文章目录 Ubuntu-24.04-live-server-amd64安装界面中文版 文章目录 系列文章目录前言一、检查系统本身情况1.用 lsblk 命令查看自己系统磁盘是什么状态2.用 df -h 命令查看文件系统的磁盘空间使用情况3.解决 Ubuntu-24.04 磁盘空间只能用一半的问题3-1扩展逻辑卷&#xff…

这才是CSDN最系统的网络安全学习路线(建议收藏)

01 什么是网络安全 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域&#xff0c;都有攻与防两面…

基于X86+FPGA+AI的智能仓储AGV机器人解决方案

应用场景 智能仓储是物流过程的一个环节&#xff0c;智能仓储的应用&#xff0c;保证了货物仓库管理各个环节数据输入的速度和准确性&#xff0c;确保企业及时准确地掌握库存的真实数据&#xff0c;合理保持和控制企业库存&#xff0c;其中搬运环节目前已大量采用AGV的方式进行…

python-逻辑语句

if else语句 不同于C&#xff1a;else if range语句&#xff1a; continue continue的作用是&#xff1a; 中断所在循环的当次执行&#xff0c;直接进入下一次 continue在嵌套循环中的应用 break 直接结束所在的循环 break在嵌套循环中的应用 continue和break&#xff0c;在…