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

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

相关文章:

  • SpringMVC系列二: 请求方式介绍
  • 电脑系统重装怎么操作?分享四个win10重装系统方法
  • 更改ip后还被封是ip质量的原因吗?
  • DDei在线设计器-API-DDeiSheet
  • Discuz动漫二次元风格网站模板
  • [经验] candy是什么意思英语翻译 #笔记#其他#职场发展
  • AIGC发展方向和前景
  • 晨持绪科技:开好一家抖音小店运营怎么做
  • 未来几年大多数人会面临的困境
  • 软件工程考试题备考
  • 应用分发也叫APP分发
  • mysql 查询排名,包括并列排名和连续排名
  • 阿里云PAI大模型评测最佳实践
  • 同三维T80002JEHV H.265高清解码器
  • SpringMvc-Restful
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • Brief introduction of how to 'Call, Apply and Bind'
  • ECMAScript入门(七)--Module语法
  • Javascript Math对象和Date对象常用方法详解
  • JavaScript学习总结——原型
  • Java基本数据类型之Number
  • Spring框架之我见(三)——IOC、AOP
  • SpriteKit 技巧之添加背景图片
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • Vim Clutch | 面向脚踏板编程……
  • 从零开始在ubuntu上搭建node开发环境
  • 欢迎参加第二届中国游戏开发者大会
  • 树莓派 - 使用须知
  • 数组的操作
  • 网页视频流m3u8/ts视频下载
  • 怎么将电脑中的声音录制成WAV格式
  • Python 之网络式编程
  • 阿里云API、SDK和CLI应用实践方案
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​HTTP与HTTPS:网络通信的安全卫士
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • $().each和$.each的区别
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (附源码)springboot教学评价 毕业设计 641310
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • . NET自动找可写目录
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .NET 回调、接口回调、 委托
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .NetCore项目nginx发布
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • @RequestBody详解:用于获取请求体中的Json格式参数
  • @RequestMapping处理请求异常