web基础及http协议

web基础

全称 world wide web 全球广域网也就是万维网
web1.0 只能看
web2.0 页面交互:静态页面和动态页面
静态页面url:文本文件,可以修改,一般以html .htm保存的文本文件。网站的基础。静态页面和后台数据库没有任何交互不包含请求程序。更新起来比较复杂。一般适用于更新比较少的展示型的网站。一般都是网站的主页。
http 80 https 443
动态页面uri:通过后台用户交互
1、url不是固定的,能通过后台和用户交互
2、动态页面的URL当中一般有个?号
3、动态页面: PHP、jsp、python、node.js
4、动态页面可以自动更新
5、访问的时间,访问的内容会发生变化。

web3.0 人机交互

DNS解析 将网址解析成ip

分类
1、静态页面
2、动态页面

DNS域名

网络上的通信都是基于IP

通信模式 TCP/IP
tcp建立连接和断开连接,都是要双方进行确认的
建立连接:三次握手
断开连接:四次挥手

通信是端到端
端口通信(进程或者服务都是有指定的端口)
http 80
nginx 80
ssh 22
mysql 3306

IP地址+端口号
IP地址:是主机在网络上的唯一标识
公网ip地址已经没有了,现在这个唯一标识(ip地址),nat地址转化
ip地址是一个点分十进制组成的
192,168.233.10
192.168.233: 网络位
10: 主机位

dns解析:

网站都是域名,dns解析的作用是把域名解析成ip地址迭代:从根域名到二级域
返回用户的过程: 递归----运营商------本地hosts------用户

三种方式:

第一个

/etc/hosts 本地解析,速度最快,缺点: 如果需要配置的解析地址多

第二个:

DNS服务器来进行解析
运营商: 运营商提供一个DNS解析的ip地址。
/etc/resolv.conf


格式
nameserver 218.2.135.1

第三个

网卡配置:
ifcfg-ens33

生效的顺序:

hosts文件的优先级最高-------------网卡配置-----------dns服务器(resolv.conf)

分布式和集群

分布式

分布式:把计算机系统或者应用程序分布在多台独立的计算机或者服务器上。通过网络通信以及协作,共同完成特定的任务或者服务。工作负载分散到多个节点上,提高性能和可靠性。
 

常见的分布式:
        分布式前端 nginx
        分布式数据库
        分布式文件系统

集群

集群:多台计算机或者服务器连接在一块,形成一个单独一个计算资源池。计算机通过网络互相连接,共享任务,集群都是有相同类型的计算计组成。运行的程序也相同
作用 通过增加计算机节点,控制系统,然后提高整体的处理能力和容量
LAMP 架构
部署L linux
n: nginx 提供网页访问
M: MYSQL 数据库,保存用户名和密码
p: PHP,处理动态页面。

html协议

html: 超文本标记语言,也是我们最常见的网页格式。是一种规范,也是一个文本文件。
 

网页:纯文本格式的文件 语言HTML。浏览器来翻译html语言形成网页
网站:由多个网页组成,网页的结合体。打开网站之后出现的第一个页面就是我们说的网站首页或者主页。
域名:域名需要注册,访问网站时输入的网址就是我们说的域名
传输方式: http/https
http: 超文本传输协议,https 加密的超文本传输协议。考ssl证书认证。网页的传输通信协议
URL: 万维网的寻址系统(唯一标识)

URI:

超链接: 超链接把网站当中的不同内容连接起来  以a开头的

http协议

http协议 0.9 淘汰
http协议 1.0 基本淘汰   无会话保持
http协议 1.1 目前最常用的 https--443 http http1.1---提供加密和安全传输
http协议 2.0 新一代的加密协议,传输速度比1.1的速度更快

http协议 基于tcp 协议的应用层传输协议。简单来说就是客户端和服务端之间进行数据传输的一种规则。需要三次握手四次挥手建立连接,连接之后,客户端于服务端之间请求和接受,响应都是通过socket接口来调用tcp协议实现。
http是一种无状态的协议,不会对发送的请求和响应进行处理,http协议可以处理大量的事务,提高效率,http本身无状态,会话保持 65-120

http的工作流程:

客户端-服务端通信过程

请求-----响应的模型
建立连接:tcp/ip协议与服务器建立连接(三次握手),客户端向服务端的80端口发送连接请求。
发送请求:一旦建立连接,客户端向服务端发送http请求。http请求:由一个请求和多个头部字段。
请求方式:get post
get   向服务请发起请求的数据,安照http协议进行get请求
post  向服务端发送数据,安照http协议进行,向服务器添加数据,post的请求会修改服务器上的数据。请求的字符不会被显示,比较安全
get和post区别 
get的请求可以保存在浏览器的cookie中,get的请求长度有限制
post的请求不能被缓存,也不会保存在浏览器的cookie中,post的请求长度有无限制


请求行:
请求体:


Accept 客户端可可以接受的数据类型。
Accept-Encoding:客户端可以接受的编码格式。以及数据是否需要压缩。
Accept-Language:客户端可以接受的语言类型。
Cache-Control:数据在本地缓存的时间。
Connection:连接的处理方式。一般都是会话保持。
HostUser-Agent:客户端请求使用的浏览器信息:表示请求的ip或端口号,也可以请求的主机名。

服务请求处理:根据请求的方式和内容进行处理。服务端会读取请求的字段,解析参数,处理数据等等。

服务端返回响应:形成一个http响应,响应由一个响应行,包含多个字段。响应内容包含重要的内容状态码,用于表示服务端对于请求的处理结果。

http的状态码
1xx 信息提示 100-101 无实际作用
2xx 成功 请求处理结果成功 200
3xx 重定向304表示请求的是缓存
4xx 客户端错误,403、404 请求的页面不存在或没有访问权限
        403:请求的页面禁止访问
        404:服务器无法请求的页面。
5xx 服务端错误,检查防火墙,检查进程的状态,检查端口,检查配置文件
500 内部服务器错误
502 无效网关
503 请求的服务器不可用,可能下线了
504 网关请求超时

生产中常见的
200 请求成功
301 永久重定向
302 临时重定向
304 本地缓存
403 Forbidden禁止客户端访问该页面
404 NOT FOUND 服务器无法找到被请求页面
500 inetnal server error 内部服务器错误
502 BAD getway 网关失效(服务端的网关失效)
503 server Unavailable 服务器不可用(网站维护。)
504 GATEWAY timeout 请求超时(服务端出于维护或者路由故障)

传输数据:一旦服务服务器生成了http响应,会通过之前建立的连接内容返回给客户端。
响应当中包含了请求的资源(网页内容)以及其他的需要传输的数据(一般是自定义)

关闭连接:响应发送完成,服务端就会进入连接关闭,http1.1 time_wait。双方还在建立连接,双方之间不再有数据传输。一旦有新的请求,连接可以继续使用。160s会话保持或长连接。

http1.1会一次性获取页面的全部资源,然后发起四次挥手。只是不传输数据,连接没断开

客户端解析和实现响应
客户端收到http响应之后,解析响应内容,包括页面解析,显示图片,播放视频。
主要靠浏览器。

客户端可以继续发送请求,或打开新的连接,请求其他资源

缓存cookie

cookie (第三方提供)录用户状态,跟踪统计用户访问该网站的习烟,识别用户身份,保存客户信息。可以驻留在我们的计算机上。是一很小的文件。保存特定的客户端和网站之间的信息数据。
 

时效性:30天,过期将永久失效
安全验证:客户端的IP地址验证。如短信验证、扫码验证

端口测试 telnet 

yum -y install telnet

systemctl stop firewalld
setenforce 0

No route to host 防火墙没关

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

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

相关文章

如何下载IEEE Journal/Conference/Magazine的LaTeX/Word模板

当你准备撰写一篇学术论文或会议论文时,使用IEEE(电气和电子工程师协会)的LaTeX或Word模板是一种非常有效的方式,它可以帮助你确保你的文稿符合IEEE出版的要求。无论你是一名研究生生或一名资深学者,本教程将向你介绍如…

一站式工单系统哪家好?一站式工单系统有什么特点?

伴随着高新科技的不断发展和行业竞争的加重,对于一站式工单系统这一类的公司服务系统软件有着越来越多的流程规定和可靠性的要求。一个比较完善的智能化一站式工单系统包含众多的流程,并适用更广泛性的企业信息化,接下来我们将一起看看一站式…

数字孪生与GIS数据为何高度互补?二者融合后能达到什么样的效果?

山海鲸可视化作为一款数字孪生软件,在GIS的融合方面处于业内领先水平,那么为什么一款数字孪生软件要花费巨大的精力,去实现GIS的融合,实现后又能达到什么样的效果呢?下面就让我们来一探究竟。 一、为什么数字孪生需要…

iview表格 异步修改列数据卡顿 滚动条失效

使用表格row-key属性 将row-key属性设置为true <Table ref"table" border :row-key"true" :columns"tableColumns" :loading"loading":data"tableData"></Table>

【K8S系列】深入解析k8s 网络插件—kube-router

序言 做一件事并不难&#xff0c;难的是在于坚持。坚持一下也不难&#xff0c;难的是坚持到底。 文章标记颜色说明&#xff1a; 黄色&#xff1a;重要标题红色&#xff1a;用来标记结论绿色&#xff1a;用来标记论点蓝色&#xff1a;用来标记论点 在现代容器化应用程序的世界中…

Tomcat隔离web原理和热加载热部署

Tomcat 如何打破双亲委派机制 Tomcat 的自定义类加载器 WebAppClassLoader 打破了双亲委派机制&#xff0c;它首先自己尝试去加载某个类&#xff0c;如果找不到再代理给父类加载器&#xff0c;其目的是优先加载 Web 应用自己定义的类。具体实现就是重写 ClassLoader 的两个方法…

SpringBoot全局异常处理 | Java

⭐简单说两句⭐ 作者&#xff1a;后端小知识 CSDN个人主页&#xff1a;后端小知识 &#x1f50e;GZH&#xff1a;后端小知识 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; 文章目录 ✨SpringBoot全局异常处理 | Java&#x1f3a8;什么是全局…

KUKA机器人通过直接输入法设定负载数据和附加负载数据的具体操作

KUKA机器人通过直接输入法设定负载数据和附加负载数据的具体操作 设置背景色: 工具负载数据 工具负载的定义: 工具负载数据是指所有装在机器人法兰上的负载。它是另外装在机器人上并由机器人一起移动的质量。需要输入的值有质量、重心位置、质量转动惯量以及所属的主惯性轴。…

爱尔眼科角膜塑形镜验配超百万,全力做好“角塑镜把关人”

你知道吗?过去的2022年&#xff0c;我国儿童青少年总体近视率为53.6%&#xff0c;其中6岁儿童为14.5%&#xff0c;小学生为36%&#xff0c;初中生为71.6%&#xff0c;高中生为81%①。儿童青少年眼健康问题俨然成为全社会关心的热点与痛点&#xff0c;牵动着每一个人的神经。 好…

给手机上液冷?谈谈华为Mate 60系列手机专属黑科技—— “微泵液冷”手机壳

最近&#xff0c;有一个手机配件吸引了我的注意——华为的微泵液冷壳。 简单来说&#xff0c;就是在手机壳里装了无线充电微泵&#xff0c;为手机实现外置水冷的能力。让手机壳在“外观装饰”和“防摔保护”的功能性上额外加了一个“降温提性能”的作用。 接下来&#xff0c;本…

MySQL之MHA集群

MHA概述 什么是 MHA MHA&#xff08;MasterHigh Availability&#xff09;是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点故障的问题。 MySQL故障切换过程中&#xff0c;MHA能做到0-30秒内自动完成故障切换操作。 MHA能在故障切换…

iPhone手机上使用的定时提醒APP是哪个

在日常喧闹的生活和工作中&#xff0c;琐碎的任务会像喷泉一样突涌而至&#xff0c;如不及时规划&#xff0c;我们将陷入手足无措的境地。而想要让各项工作任务按时完成&#xff0c;我们可以借助一些比较好用的时间提醒软件来督促各项任务。 就拿常用的iPhone手机来讲&#xf…

Flutter的Platform介绍-跨平台开发,如何根据不同平台创建不同UI和行为

文章目录 Flutter跨平台概念介绍跨平台开发平台相关性Platform ChannelPlatform-specific UIPlatform Widgets 如何判断当前是什么平台实例 Platform 类介绍获取当前平台的名称检查当前平台其他属性 利用flutter设计跨Android和IOS平台应用的技巧1. 遵循平台的设计准则2. 使用平…

回归算法全解析!一文读懂机器学习中的回归模型

目录 一、引言回归问题的重要性文章目的和结构概览 二、回归基础什么是回归问题例子&#xff1a; 回归与分类的区别例子&#xff1a; 回归问题的应用场景例子&#xff1a; 三、常见回归算法3.1 线性回归数学原理代码实现输出例子&#xff1a; 3.2 多项式回归数学原理代码实现输…

Ubuntu磁盘满了,导致黑屏

前言 &#xff08;1&#xff09;最近要玩Milk-V Duo&#xff0c;配置环境过程中&#xff0c;发现磁盘小了。于是退出虚拟机&#xff0c;扩大Ubuntu大小&#xff0c;重新开机&#xff0c;发现无法进入Ubuntu界面。 &#xff08;2&#xff09;查了很久&#xff0c;后面发现是磁盘…

这短短 6 行代码你能数出几个bug?

前言&#xff1a;本文仅仅只是分享笔者一年前见到的诡异代码&#xff0c;大家可以看看乐子&#xff0c;随便数一数一共有多少个bug&#xff0c;这数bug多少还是要点水平的 在初学编程的时候&#xff0c;写的第一个代码大多都是 hello world&#xff0c;可是就算是 hello world…

Windows安装Node.js

1、Node.js介绍 ①、Node.js简介 Node.js是一个开源的、跨平台的JavaScript运行环境&#xff0c;它允许开发者使用JavaScript语言来构建高性能的网络应用程序和服务器端应用。Node.js的核心特点包括&#xff1a; 1. 事件驱动: Node.js采用了事件驱动的编程模型&#xff0c;通…

04训练——基于YOLO V8的自定义数据集训练——在windows环境下使用pycharm做训练-1总体步骤

在上文中,笔者介绍了使用google公司提供的免费GPU资源colab来对大量的自定义数据集进行模型训练。该方法虽然简单好用,但是存在以下几方面的短板问题: 一是需要通过虚拟服务器做为跳板机来访问,总体操作起来非常繁杂。 二是需要将大量的数据上传缓慢,管理和使用非常不友…

FutureTask和CompletableFuture的模拟使用

模拟了查询耗时操作&#xff0c;并使用FutureTask和CompletableFuture分别获取计算结果&#xff0c;统计执行时长 package org.alllearn.futurtask;import com.google.common.base.Stopwatch; import com.google.common.collect.Lists; import lombok.AllArgsConstructor; imp…

基于Java的源代码共享平台设计与实现(源码+lw+ppt+部署文档+视频讲解等)

文章目录 前言系统功能具体实现截图论文参考详细视频演示代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、…