Web基础

Web基础与HTTP协议

web

就是我们所说的网页,打开网站展示的页面(全球广域网,又叫万维网)

分布式,图形信息系统,服务部署在不同的机器上且提供的服务和内容全部一致

分布式

计算系统或者是应用程序,分布在多台独立的计算机或者服务器上,他们之间通过计算机网络互相通信和写作,共同完成任务,或者共同对外提供一致的服务.

分布式设计的目标是:把工作负载分散到多个节点上.

每个节点既是一个整体,也是一个独立运行体.

这种设计提供了高可用的架构,允许这个分布式节点的服务器出现故障

集群

建立在分布式系统之上的,把多台计算机或者服务器连接在一起.作为一个整体,形成一个单一的计算资源.

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

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

集群的目标

通过增加节点和减少节点实现弹性伸缩,可以提高处理能力和容量.

比如说数据中心,web服务器,大数据处理等等,都是出于集群

web的组成结构

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

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

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

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

网站

由一个一个的页面组成,是一个网页的结合体.

域名

访问网站或者浏览页面时,输入的地址,也可以叫网址

www.baidu.com.cn. 180.101.50.188

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

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

URI

超链接

<a> </a>

把网站中的不同网页链接起来

发布

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

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

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

web1.0和web2.0的区别

1.0 网页编辑好之后,用户直接阅读内容,用户无法对页面进行编辑,更改创建其他内容.

网站到用户,这是一个单向的

2.0 用户也是访问编辑好的页面,但是这个页面可以对其二次开发,包括分享,弹幕,点赞,送礼,一键三连,都是web2.0的新特征的开发平台

以上由此衍生了静态页面和动态页面

静态页面

标准的html文件,文件的扩展名.html或者是.htm

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

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

只能看

更新起来比较麻烦,一般来说,适用于展示型的网站,更新内容比较少的网站

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

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

动态页面

网页的URl不固定,用户可以和后台进行交互(主要指的是数据库)

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

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

动态页面的特点

1.交互性,用户可以对网站发布的页面进行二次创造

2.自动更新

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

区别:

静态就是看

动态就是交互

HTTP协议

HTTP

超文本传输协议

HTTPS

加密的超文本传输协议

http协议和返回码

http0.9 走了很长时间了

http1.0 快走了

http1.1 目前主流

http2.0 新一代的加密协议,是http1.1的升级版(不代表https用的就是2.0)

面试题

http1.0和http1.1之间的区别

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

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

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

缓存的保留时间(30天-180天)

一般网站都是30天左右

http1.0 只有一种缓存策略

http1.1 引入了更多的缓存策略

2.长连接

http1.0 一个一个三次握手,四次挥手

http1.1 支持长连接,在一个tcp连接上可以传送多个http请求和响应,一次性的获取页面所有的内容

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

http1.0 一次只能获取一个对象,其他对象还要继续的建立连接获取数据

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

http/https的工作方式

请求

由客户端发起

请求的方式:GET POST

请求的内容

请求头

请求体

:method:GET 请求的方式

Accpet:txt/... 告诉服务端,自己能接受的服务类型

ACCpet-Encoding:gzip,deflate,br,zstd 客服端能够接受语言格式编码

Cache-Control 客户端需要页面缓存的时间,=0就是不需要保存

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

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

User-Agent:Mozilla/5.0 客户端请求的工具,也就是用的什么浏览器以及用的什么系统

响应

由服务端发起

响应头

响应体

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

ACCpet-Encoding:gzip 响应客户端的编码方式

Request method:GET

Status Code:200 OK

客户端请求的方式是get,那么status codes:请求收到之后,服务端对请求的响应状态码

1xx 100-101 信息提示

2xx 200-206 成功

3xx 300-105 重定向和缓存

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

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

http常见的状态码

200 ok 请求成功

301 永久重定向,请求的页面会永久跳转到其他页面

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

304 访问的是本地缓存

403 用户的请求禁止访问

404 用户请求的网页不存在

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

502 badGateway,无效网关(防火墙,限制了转发功能)

503 service unavailable 服务不可用

504 GateWay timeout 网关请求超时

面试题

如果出现了500,怎么来排查这个错误?

tail -f /var/

post方式

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

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

注意,get的请求可以被缓存的,post没有缓存

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

get仅仅是获取数据,post会修改数据

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

post请求没有长度限制的,而且字符串也不再url当中显示

一般的动态页面是以.jsp .js .php结尾的

相关推荐
bitcsljl13 分钟前
Linux系统中卸载GitLab
linux·运维·gitlab
oDrake35 分钟前
Openstack制作Rhel9,使用IOS镜像制作
linux·openstack·虚拟化·rhel-9.3
辣香牛肉面1 小时前
Linux下“/proc”目录的作用
java·linux·服务器
千殃sama1 小时前
Linux高并发服务器开发(十一)UDP通信和本地socket通信
linux·服务器·网络·笔记·学习·udp
Danileaf_Guo1 小时前
CentOS 7停服之后该怎么安装软件呢?
linux·运维·服务器·centos
小宏运维有点菜1 小时前
Prometheus
linux·运维·prometheus·监控
张文君2 小时前
树莓派根目录满了可以使用外部存储吗
linux·ubuntu
m0_747124532 小时前
将QT移植到IMX6ULL开发板
linux·单片机·qt·imx6ull
起个别名2 小时前
必须掌握的Linux的九大命令
linux·服务器·网络
结衣结衣.2 小时前
完全理解C语言函数
java·linux·c语言·数据库·经验分享·笔记