当前位置: 首页 > news >正文

web基础及http协议

一、WEB:就是我们所说的页面,点开的每个页面都是web。(全球广域网、万维网)

       分布式图形信息系统:同一个服务,但是部署在不同的机器上且提供的服务和内容全部一致,集群就是建立在分布式的基础上。

1.web的组成结构:

网页:是重文本格式的文件,也是HTML语言(超文本标记语言,是一种规范,也是一种标准,通过标记符号来显示网页的各个部分),一般我们访问的页面都是以heml或者.htm结尾(也是网站) ,浏览器把html语言进行翻译,形成用户看到的页面。

网站:由不同的页面组成

域名:访问网站或者浏览页面时输入的地址

访问域名相当于访问地址    

2.超链接:把网站中的不同网页链接起来。

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

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

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

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

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

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

https://blog.csdn.net/koeda1/article/details/133754676?spm=1001.2014.3001.5502

   URI:就是/koeda1/

6.静态页面:就是标准的.html文件,文件的扩展名,纯文本,图像,声音,动画等等组成的一个页面,网站建设的基础,早期的网站都是静态页面,没有后台数据,没有其它的程序,也无法交互的页面,也就是只能看的页面,更新起来比较麻烦,展示型网站,更新内容比较少的网站,静态页面的URL地址是固定的,内容相对稳定,容易被搜索引擎搜索,页面的浏览速度比较块,没有后台程序,不需要连接数据库,页面打开的比较快。静态页面就是

7.动态页面:网页URL不固定,用户可以和后台进行交互(数据库),在动态页面的URL里面有一个符号“?”或者以“.js结尾的”,动态页面用的是PHP,JSP,PYTHON,RUBY;动态页面的特点:交互性,用户可以对网站发布的页面进行二次创造,自动更新,页面的内容会实时的变化。动态页面就是交互

 二、HTTP或者叫HTTPS:加密的超文本传输协议

分布式:计算机系统或者应用程序分布在多台计算机或者服务器上,通过计算机网络互相通信和协作,共同完成任务或者共同对外提供一致的服务,分布式设计的目标是把工作负载分散到多个节点上,每个节点既是一个整体,也是一个独立运行体,这种设计提供了高可用的架构,允许分布式节点的服务器出现故障(坏了其中一个,其它的照样运行,对访问不受影响)。

集群:建立在分布式基础之上,把多台计算机或者是服务器连接在一起,做为一个整体,形成一个单一的计算资源,也是通过网络连接共享网络任务和资源负载,实现高性能及高可用,这些计算机或者服务器它们的性能基本一致,运行的服务或者应用程序都一致。

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

数据中心和web服务器、大数据处理等等都是属于集群。

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

2.http和返回码

版本:

http0.9

http1.0:基本淘汰,只有一种缓存策略;一次只能获取一个对象,其它对象还要建立连接获取数据。

http1.1:目前主流,特点:有更多的缓存机制(可以把用户的一些行为和操作保存下来,下一次再访问,可以保留这些状态,不需要在和web服务器进行额外的通信,提高了访问效率;缓存有的保存在本地,有的是保存在web服务器;缓存基本上都是保存在用户的本机游览器上;缓存时间一般为30-180天);支持长连接(在一个tcp连接上可以传送多个thhp请求和响应,一次性的获取页面的所有内容);只要建立连接,除非数据发生完毕,否则不需要为了其它的资源专门的再建立额外的连接。

http2.0:加密的的协议,新一代的加密协议,现在用的少,http1.0升级版。

面试题:http1.0和1.1的区别:

3.http的工作方式:

3.1请求。。。。。。客户端发起

请求的方式:GET; POST(get就是向服务发送请求,请求不带任何参数,由http协议自行约定的;post也是数据,也是依照http协议,post会更改服务器的数据,post会在服务器上多一条数据,或者对原数据进行了修改;get的请求可以被缓存,post没有缓存;get的请求几率会保存在浏览器记录里,post不会被保存;get就是获取数据,post会修改数据;get的请求长度是有限制的,而且请求的字符串会显示在url当中,post请求没有长度限制,而且字符串也不在url当中显示;)

请求的内容:请求头和请求体

method  GET:请求的方式

Accept:客户端可以接受的数据类型

Accept-Enocoding:客户端可以接受的编码格式

Accept-language:客户端可以接受的语言类型

Cache-Contorol:客户端需要页面缓存的时间

Connection:客户端通知服务端,服务端在数据传输完毕之后,不要马上关闭连接,让连接保持一段时间。

Host:表示客户端请求的ip和端口

User-Agent:客户端请求的工具,用什么浏览器发起的请求以及发起的系统是什么。

3.2响应。。。。。。服务端发起

响应体:

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

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

Content-Type:响应的类型,发送数据的类型

Date :响应时间

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

Strict-Transport-Security:响应客户端的缓存时间

Status Code   200 OK:请求收到之后,服务端对请求的响应状态码。

4.http的状态码:

1xx    100-101:信息提示

2xx     200-206:成功

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

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

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

200 ok :请求成功

301:永久重定向,请求的页面会永久保存到其它页面

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

304:访问的时本地缓存

403:用户的请求禁止访问

404:用户请求的网页不存在

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

502:Bad Gateway 网关错误,无效网关,限制了转发

503:service unavailable服务不可用

504:Gateway timeout网关请求超时

相关文章:

web基础及http协议

一、WEB:就是我们所说的页面,点开的每个页面都是web。(全球广域网、万维网) 分布式图形信息系统:同一个服务,但是部署在不同的机器上且提供的服务和内容全部一致,集群就是建立在分布式的基础上。…...

【vuejs】vue-router 之 addRoute 动态路由的应用总结

1. Vue Router 概述 Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用。它与 Vue.js 深度集成,让开发者能够轻松地构建具有复杂用户界面的单页面应用。Vue Router 允许你定义不同的路由,并通过 router-view 组件在应用中显示匹配的…...

LeetCode 30. 串联所有单词的子串

LeetCode 30. 串联所有单词的子串 给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。 例如,如果 words [“ab”,“cd”,“ef”], 那么 “abcd…...

python本学期所有代码!

第一单元 ----------------------------------------------------------------------- #圆面积的计算 radius 25 area 3.1415 * radius * radius print(area) print("{:.2f}".format(area)) --------------------------------------------------------------------…...

武汉星起航:无锡跨境电商加速“出海”,物流升级助品牌全球布局

随着全球化的不断深入,跨境电商作为数字外贸的新业态,正逐渐成为无锡企业拓展海外市场的重要渠道。武汉星起航关注到,近年来,无锡市通过积极推进国际物流枢纽建设,完善海外仓布局,以及各特色产业带的积极参…...

Python+Pytest+Allure+Yaml+Pymysql+Jenkins+GitLab接口自动化测试框架详解

PythonPytestAllureYaml接口自动化测试框架详解 编撰人:CesareCheung 更新时间:2024.06.20 一、技术栈 PythonPytestAllureYamlJenkinsGitLab 版本要求:Python3.7.0,Pytest7.4.4,Allure2.18.1,PyYaml6.0 二、环境配置 安装python3.7&…...

stm32-hal库(5)--usart串口通信三种模式(主从通信)(关于通信失败和串口不断发送数据问题的解决)

问题: 最近发现,stm32cubemx最新版本f1系列的hal库(1.85版本)生成的hal库,其中stm32f1xx_hal_uart.c的库文件中,其串口发送接收存在一些问题: 1.没有使用 __HAL_LOCK 和 __HAL_UNLOCK 宏&…...

一文学会LVS:概念、架构、原理、搭建过程、常用命令及实战案例

引言 随着互联网技术的飞速发展,服务器负载均衡技术变得越来越重要。LVS(Linux Virtual Server)作为一种高效的负载均衡解决方案,广泛应用于各大企业的生产环境中。本文将深入探讨LVS的概念、架构、工作原理,详细讲解其…...

[Go 微服务] Kratos 使用的简单总结

文章目录 1.Kratos 简介2.传输协议3.日志4.错误处理5.配置管理6.wire 1.Kratos 简介 Kratos并不绑定于特定的基础设施,不限定于某种注册中心,或数据库ORM等,所以您可以十分轻松地将任意库集成进项目里,与Kratos共同运作。 API -&…...

【unity实战】使用旧输入系统Input Manager 写一个 2D 平台游戏玩家控制器——包括移动、跳跃、滑墙、蹬墙跳

最终效果 文章目录 最终效果素材下载人物环境 简单绘制环境角色移动跳跃视差和摄像机跟随效果奔跑动画切换跳跃动画,跳跃次数限制角色添加2d物理材质,防止角色粘在墙上如果角色移动时背景出现黑线条方法一方法二 墙壁滑行实现角色滑墙不可以通过移动离开…...

【实战】EasyExcel实现百万级数据导入导出

文章目录 前言技术积累实战演示实现思路模拟代码测试结果 前言 最近接到一个百万级excel数据导入导出的需求,大概就是我们在进行公众号API群发的时候,需要支持500w以上的openid进行群发,并且可以提供发送openid数据的导出功能。可能有的同学…...

Graalvm配置文件与Feature和Substitute机制介绍

GraalVM介绍 GraalVM提前将Java应用程序编译成独立与机器码二进制文件(可执行文件、动态库文件),如windows系统中的exe文件和dll文件。与在Java虚拟机(JVM)上运行的应用程序相比,这些二进制文件更小,启动速…...

Appium adb 获取appActivity

方法一(最简单有效的方法) 通过cmd命令,前提是先打开手机中你要获取包名的APP adb devices -l 获取连接设备详细信息 adb shell dumpsys activity | grep mFocusedActivity 有时获取到的不是真实的Activity 方法二 adb shell monkey -p …...

调整分区失败致盘无法访问:深度解析与数据恢复全攻略

调整分区失败盘打不开的困境 在计算机的日常维护与管理中,调整磁盘分区是常见的操作之一,旨在优化存储空间布局、提升系统性能或满足特定应用需求。然而,当这一操作未能如预期般顺利进行,反而导致分区调整失败,进而使…...

试用笔记之-汇通计算机等级考试软件一级Windows

首先下载汇通计算机等级考试软件一级Windows http://www.htsoft.com.cn/download/htwork.rar...

Java的NIO体系

目录 NIO1、操作系统级别下的IO模型有哪些?2、Java语言下的IO模型有哪些?3、Java的NIO应用场景?相比于IO的优势在哪?4、Java的IO、NIO、AIO 操作文件读写5、NIO的核心类 :Buffer(缓冲区)、Channel&#xff…...

自下而上的选股与自上而下的选股

一起学习了《战胜华尔街》,不知道大家有没有这么一种感受:林奇的选股方法是典型的自下而上的选股方法。虽然这一点没有单独拎出来讨论过,但在《从低迷中寻找卓越》《如何通过财务指标筛选股票?》《边逛街边选股?》《好…...

Tech Talk:智能电视eMMC存储的五问五答

智能电视作为搭载操作系统的综合影音载体,以稳步扩大的市场规模走入越来越多的家庭,成为人们生活娱乐的重要组成部分。存储部件是智能电视不可或缺的组成部分,用于保存操作系统、应用程序、多媒体文件和用户数据等信息。智能电视使用eMMC作为…...

scikit-learn教程

scikit-learn(通常简称为sklearn)是Python中最受欢迎的机器学习库之一,它提供了各种监督和非监督学习算法的实现。下面是一个基本的教程,涵盖如何使用sklearn进行数据预处理、模型训练和评估。 1. 安装和导入包 首先确保安装了…...

CentOS 7 搭建rsyslog日志服务器

CentOS 7 搭建rsyslog日志服务器 前言一、IP地址及主机名称规划1.修改主机名 二、配置rsyslog日志服务器1.安装rsyslog服务2.编辑/etc/rsyslog.conf 文件3.启动并启用rsyslog服务4.验证端口是否侦听 三、在rsyslog日志服务器上配置firewalld防火墙四、配置rsyslog日志客户端1.编…...

ARM GICv3中断优先级机制与寄存器配置详解

1. ARM GICv3中断优先级机制深度解析在嵌入式系统和实时操作系统中,中断优先级管理是确保系统响应性和可靠性的核心机制。ARM GICv3(Generic Interrupt Controller version 3)作为当前主流的硬件中断控制器架构,其优先级寄存器组的…...

汽车电子功能安全:锁步核与ECC技术解析

1. 功能安全与汽车电子:为什么它如此重要?在现代汽车电子系统中,功能安全已经从"锦上添花"变成了"不可或缺"。想象一下,当你的车辆以120km/h在高速公路上行驶时,电子稳定控制系统(ESC)突然因为一个…...

【C#vsPython·第一阶段】int、string、bool?Python 的类型世界有点不一样

在 C# 里,int 最大能表示 2,147,483,647(约 21 亿)。超过这个数?对不起,溢出了,你得用 long。在 Python 里?2 ** 100 直接算,连眼都不眨一下。Python 的 int 没有上限,想…...

Prompster:开源提示词管理工具部署与工程化实践指南

1. 项目概述与核心价值最近在折腾AI应用开发,特别是围绕提示词工程和智能体构建,发现了一个挺有意思的GitHub项目——LucasAschenbach/prompster。这名字起得挺直白,Prompster,一看就知道跟“提示词”脱不了干系。简单来说&#x…...

数据结构--------单链表下

书接上回,本章主要讲的是单链表的头删,尾删,指定位置插入删除,链表的查找和链表的销毁;一.链表的操作1.头删文字描述如下:正所谓头删,删除的肯定是链表的头元素,但是我们要怎么样进行…...

基于电容触摸与接近传感的无接触MIDI控制器设计与实现

1. 项目概述与核心价值如果你玩过电子乐器,或者对音乐制作、交互装置感兴趣,那你一定对MIDI控制器不陌生。传统的MIDI控制器,无论是键盘、打击垫还是旋钮,大多依赖于物理接触——你得实实在在地按下去、扭动它。但有没有想过&…...

LZ4压缩边界深度解析:如何准确计算LZ4_compressBound压缩上限

LZ4压缩边界深度解析:如何准确计算LZ4_compressBound压缩上限 【免费下载链接】lz4 Extremely Fast Compression algorithm 项目地址: https://gitcode.com/GitHub_Trending/lz/lz4 LZ4压缩边界深度解析是理解LZ4高效内存管理的关键。在数据压缩领域&#xf…...

别再盲目升级!Claude 3 Opus仅在5类高价值场景胜出——基于127家A/B测试企业的ROI数据反推选型决策树

更多请点击: https://intelliparadigm.com 第一章:Claude 3 Opus性能评测的底层逻辑与评估范式 Claude 3 Opus 的性能评测并非简单比拼响应速度或 token 吞吐量,而是一套融合认知建模、任务分解能力与鲁棒性验证的多维评估范式。其底层逻辑建…...

基于AIGC的文本生成视频系统:从架构设计到工程实践

1. 项目概述:从文本到视频的自动化创作最近在折腾一个挺有意思的项目,叫“TextCreateVideo”,直译过来就是“文本生成视频”。这玩意儿听起来像是科幻电影里的概念,但现在已经有不少开源项目在尝试落地了。我关注的这个Anning01/T…...

【LeetCode刷题日记】一篇带你搞懂平衡二叉树高效判断法(110.平衡二叉树)

🔥个人主页:北极的代码(欢迎来访) 🎬作者简介:java后端学习者 ❄️个人专栏:苍穹外卖日记,SSM框架深入,JavaWeb ✨命运的结局尽可永在,不屈的挑战却不可须臾或…...