Web基础和HTTP协议

web基础与HTTP协议:

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

world wide web

分布式图形信息系统

http https

超文本传输协议

分布式:计算机系统或者应用程序分布在多台计算机或者服务器上。通过计算机网络互相通信和协作。共同完成任务或者共同对外提供一致的服务。分布式设计的目标:把工作负载分散到多个节点上

每个节点即是一个整体,也是一个独立运行体。允许分布式节点的服务器出现故障。

集群:

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

也是用作网络连接,共享任务和资源负载,实现高性能和高可用。这些计算机或者服务器,性能基本一致。运行的服务或者应用程序都一致。

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

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

web的组成结构:

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

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

一般来说,我们访问的页面都是.html或者.htm

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

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

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

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

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

URI:域名后的路径,每一层都是,后一层属于子

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

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

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

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

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

网站到用户----单向的 只能看不能操作

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

是web2.0的新特征

静态页面

标准的HTML文件,文件的扩展名.html,.htm。纯文本 图像 声音 动画 等等组成的一个页面

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

页面的浏览速度比较快,没有后台程序,无需数据库,打开的快

更新麻烦,展示型网站,更新内容少的网站

URL地址固定,内容相对稳定,容易被搜索引擎检索

动态页面

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

动态页面URL的标志符号 ?

动态页面用的是 PHP JSP python ruby

特点:

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

2.自动更新

3.因时因人而变:页面的内容回实时的发生变化

区别:

1、静态页面看

2、动态页面:交互

HTTP协议和返回码

http 0.9

http 1.0基本淘汰

http 1.1 目前主流版本

http2.0加密的协议 新一代的加密协议,http1.1升级版。

http工作方式

请求----客户端

请求的方式:GET POST

请求的内容:

请求头

请求体

响应----服务端

响应体

Request Method: GET

Status Code: 200 OK

客户端请求方式GET Status Code 请求收到后,服务端对请求的响应的状态码

1xx 100-101 信息提示

2xx 200-206 成功

3xx 300-305 重定向和缓存

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

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

http常见状态码*

200 请求成功

301 永久重定向,请求的页面永久跳转

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

304 访问本地缓存

403 用户的请求禁止访问,禁止访问该页面

404 用户请求的网页不存在

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

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

503 service unavailable 服务不可用

504 Gateway timeout网关请求超时

post请求

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

post也是发数据,http协议,post会更改服务器的数据,post增加新数据或对原数据进行修改

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

get请求会保存在浏览记录cookie 中,post不会被保存

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

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

post请求无长度限制,字符串不在url中显示

动态页面一般以.jsp .js .php为结尾的文件

nginx----web服务器

nginx 1.30 1.26-1.27

http 在国内很少。

nginx是开源的,一款高性能,轻量级的web服务软件

稳定性高,而且版本迭代比较快(修复bug速度比较快,安全性高)

消耗系统资源很低,http请求并发连接,单胎服务器可以支持30000-50000个并发请求(系统资源全部分配给nginx)

单个节点的nginx一般支持20000个并发

nginx功能介绍:

1.静态文件服务:静态页面,可以直接提供静态文件服务,html css jsp。处理静态页面的响应速度很快,效率很好

2.正向代理,反向代理。可以实现负载均衡,高可用和故障转移。

3.动态内容处理,nginx并不能直接处理动态请求,可以通过中间件把动态请求转发给后端服务器

nginx--php/tomcat---mysql

4.支持加密的http 即https

5.可以实现重定向

6.虚拟主机,一个nginx可以配置多个域名和战点

7.nginx自带缓存

8.性能可扩展,处理能力可以随时调整

nginx的应用场景:

静态页面

转发动态请求

反向代理,负载均衡

缓存服务

cd /usr/local/nginx ll

conf 配置文件目录nginx.conf主配置文件

html 工作目录50x.html 默认的访问操作打开的页面, index.html默认的访问主页

logs 日志记录 访问日志,报错日志

sbin nginx的二进制启动脚本

nginx的常用命令:

nginx -t 检测配置文件的语法是否正确

nginx -v 显示nginx的版本

-v:显示版本和配置项

nginx -s 信号

stop关闭nginx

reload 重新加载

nginx如果更改了配置文件,使用nginx -s reload 无需重启服务。

相关推荐
唐装鼠6 分钟前
Linux 下 malloc 内存分配机制详解
linux·malloc
予枫的编程笔记7 分钟前
【Linux入门篇】Linux运维必学:Vim核心操作详解,告别编辑器依赖
linux·人工智能·linux运维·vim操作教程·程序员工具·编辑器技巧·新手学vim
17(无规则自律)19 分钟前
深入浅出 Linux 内核模块,写一个内核版的 Hello World
linux·arm开发·嵌入式硬件
liu****32 分钟前
2.深入浅出理解虚拟化与容器化(含Docker实操全解析)
运维·c++·docker·容器·虚拟化技术
中二病码农不会遇见C++学姐34 分钟前
Linux下的.run文件
linux
予枫的编程笔记37 分钟前
【Linux入门篇】摆脱权限混乱困境:Linux用户组管理+sudo提权,一步到位
linux·linux运维·后端开发·linux用户管理·linux权限配置·chmod命令·sudo配置
一个人旅程~44 分钟前
Dell n4020双系统分区步骤和linux优化操作
linux·windows·电脑
池央1 小时前
CANN 诊断工具链深度解析:oam-tools 的自动化故障信息收集、软硬件状态快照与 AI Core 错误溯源机制
运维·人工智能·自动化
忆~遂愿1 小时前
CANN metadef 深度解析:动态形状元数据管理、图编译器接口规范与序列化执行机制
大数据·linux
予枫的编程笔记1 小时前
【Linux入门篇】Linux文件操作不用记满屏命令,掌握touch/cp/mv核心用法就够了
linux·tar·linux命令·tail·cat·linux文件管理·linux新手教程