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.hqwc.cn/news/130009.html

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

相关文章

找到所有数组中消失的数字

题目链接 找到所有数组中消失的数字 题目描述 注意点 在不使用额外空间且时间复杂度为 O(n) 的情况下解决这个问题 解答思路 要想找到消失的数字需要使用哈希表,因为本题要在不使用额外空间且时间复杂度为 O(n) 的情况下解决这个问题,而所有数字出现…

安全性第一!OpenWRT配置SFTP远程文件传输,实现数据安全保护

文章目录 前言1. openssh-sftp-server 安装2. 安装cpolar工具3.配置SFTP远程访问4.固定远程连接地址 前言 本次教程我们将在OpenWRT上安装SFTP服务,并结合cpolar内网穿透,创建安全隧道映射22端口,实现在公网环境下远程OpenWRT SFTP&#xff…

如何使用Docker轻松构建和管理应用程序(一)

如今Docker的使用已经非常普遍,特别在一线互联网公司。使用Docker技术可以帮助企业快速水平扩展服务,从而到达弹性部署业务的能力。在云服务概念兴起之后,Docker的使用场景和范围进一步发展,如今在微服务架构越来越流行的情况下&a…

信息增益,经验熵和经验条件熵——决策树

目录 1.经验熵 2.经验条件熵 3.信息增益 4.增益比率 5.例子1 6.例子2 在决策树模型中,我们会考虑应该选择哪一个特征作为根节点最好,这里就用到了信息增益 通俗上讲,信息增益就是在做出判断时,该信息对你影响程度的大小。比…

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

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

Java使用模板导出word、pdf

使用deepoove根据模板导出word文档&#xff0c;包括文本、表格、图表、图片&#xff0c;使用WordConvertPdf可将word文档转换为pdf导出 模板样例&#xff1a; 导出结果&#xff1a; 一、引入相关依赖 <!-- 工具类--><dependency><groupId>cn.hutool&…

H5逆向之远程RPC

引言前一讲说过H5 怎么去抓包,逆向分析。其中说到RPC。这一节详细讲一下。有一种情况,JS 比较复杂,混淆的厉害。 这个时候就用到RPC。原理就是,hook web 浏览器,直接调用js 里边的方法。 Node 服务。为什么用到Node 服务,先来看下这架构 Node 对外提供各种接口,外部可以…

this关键字在不同上下文中的值是如何确定的?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

MyBatisPlus(十)判空查询

说明 判空查询&#xff0c;对应SQL语句中的 IS NULL语句&#xff0c;查询对应字段为 NULL 的数据。 isNull /*** 查询用户列表&#xff0c; 查询条件&#xff1a;电子邮箱为 null 。*/Testvoid isNull() {LambdaQueryWrapper<User> wrapper new LambdaQueryWrapper<…

【c#】adapter.fill(dt)报错specified cast is not valid

报错信息&#xff1a; 报错specified cast is not valid,指定转换类型无效。 原因 查出来的数据有小数&#xff0c;且小数位数较多&#xff0c;问题就出现在这里&#xff0c;ORacle可以查出精确度高的数据&#xff0c;但是C#没办法查出来&#xff0c;就导致了有数据类型转换&…

关于:未同意隐私政策,应用获取ANDROID ID问题2

一、环境 Unity2018 4.21f1、Android Studio、Windows10 二、问题描述 在发布应用到华为应用市场时&#xff0c;提示“在用户同意隐私政策前&#xff0c;您的应用获取了用户的ANDROID ID&#xff0c;不符合华为应用市场审核标准。” 如果你想去掉获取ANDROID ID的代码可以参…

HP打印机一点击打印就出现Windows资源管理器已停止工作问题解决

本次处理的打印机型号是HP Officejet 200 移动便携式打印机&#xff0c;不过其他型号如果出现类似现象&#xff0c;解决方法应该是一致的。 在弹出Windows资源管理器已停止工作的报错提示框后&#xff0c;点击左下角的详细信息&#xff0c;看到的内容显示是KernelBase.dll崩溃…