网络协议
TCP-IP四层协议 网络通讯协议,最基本的Internet协议
它定义了电子设备是如何进入互联网的
OSI七层协议 TCP-IP四层协议
TCP-ip四层协议 应用层 传输层 网际层 网络接口层
OSI七层协议 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层
OSI七层协议 是理想情况
TCP-IP协议 实际情况
其中应用层包含 应用层 表示层 会话层
网络层包含 数据连接层 物理层
HTTP 协议 超文本传输协议(端口80)
HTTPS 超文本传输安全协议(端口443)
FTP 远程文件传输协议 (端口21)
Ssh 安全外壳协议 (端口 22)
Telnet 远程登录协议 (端口 23)
SMTP 邮件传输协议 (端口 25)
DNS 域名解析协议 (端口 53)
NFS 网络文件服务
TCP 传输控制协议
Udp 用户数据报协议
XML文档:
可扩展标记语言,他被用来输出和纪录数据,就像TXT文档一样,他仅仅是一个纯文本而已,可用来在程序之间传输数据
HTML:
以开头的 是一门前端语言,是超文本标记语言,将各种文本和文件以及色彩组合到一块,可以使用JavaScript 使其更加美观。
Json:是一种轻量级的数据交换格式,是以键值对的形式展示。
Cookie 与 session 和 token 区别
Cookie和session的区别?(将信息保存下来 登陆与买东西来说,不可能点一步登一次,需要保存匹配登陆及浏览信息)
- cookie的数据是保留在客户端 session 的数据是保留在服务器上面
2 . Cookie 不是很安全,别人容易拿着你的cookie 进行cookie欺骗 - Session一段时间内会存放在服务器上,但是时间长了用户量大了会对服务器造成一定的压力。
4 一般情况下单个cookie的大小不超过4k ,而且很多浏览器都限制一个web站点最多保存20个cookie,一个浏览器最多保存300个cookie
5.一般来说可以将登陆信息以及隐私信息等重要信息存放在session里,将其他信息比如浏览记录购物车商品等保存在cookie里面
(session id 保存在cookie中)
Token
Token一般用于APP验证,是令牌的意思 ,最简单的token是UID(用户id)
Time(当前时间的时间戳 1970.1.1计算机诞生,从计算机诞生到当前时间的时间总和(以秒为单位)称为时间戳,时间戳具有唯一性),和sign(签名)组成
首先基于token的验证,在服务器不需要存储用户的登录记录 ,首先客户端使用用户名和密码请求登录服务器,服务器收到请求之后去验证用户名和密码
如果验证成功就签发一个token给客户端
客户端收到之后把token 保存起来,比分说可以保存在cookie里面
客户端再次向服务器发起请求的时候都要带着token
服务器会先验证token是否正确,以及token是否失效(失效时间由开发编程决定),如果正确就返回信息,不正确就提示重新登录
TCP与udp的区别
首先TCP是传输控制协议,udp是用户数据报协议
TCP在与服务器交互的过程中有确认机制,重传机制和拥堵机制(排队)等等 确认机制它规定了客户端向服务器发送请求,服务器必须发回确认,同时也因为这些机制使TCP传输过程可靠,稳定,但是也是应为这些机制
它相对udp来说更浪费时间而且每个连接都会占用系统资源
而udp没有TCP的确认重传拥堵等机制他是一个无状态的传输协议
所以他在传输的过程中会非常快,但同时他又是不可靠不稳定的
比如说在和服务器的交互过程中出现网络不好的情况可能会导致数据包丢失。(微信视频)
TCP应用场景比如:邮件传输 http和HTTPS 传输 以及FTP等(质量,准确性要求高)
Udp应用场景比如:微信视频聊天,语音聊天等(及时)
http协议与HTTPS协议
1.http协议(超文本传输协议)默认端口80
2.HTTPS 协议(超文本传输安全协议)由SSL(安全套接层)和HTTP协议构建的可进行加密传输,身份认证的网络协议,比HTTP安全,HTTPS默认端口443
3.HTTP协议,它规定了客户端与服务端之间数据传输格式
4.http协议特点:它简单,灵活,通讯速度快,允许传输任意类型的数据,它限制了每次连接只处理一个请求。
5.http协议的8种请求方式,
- options
- head
- get (是向定向资源发出请求,大部分请求都是get)
4.post (是向指定资源提交数据,例如注册,提交表单,上传文件,来进行处理数据,数据被包含在请求中,post请求可能导致新的资源创建,或已有资源的修改)
5.put是指向定向资源位置上传最新的内容
6.delete 请求服务器删除指定的资源
7.trance 显示服务器受到的请求主要用于测试或诊断。
8 .connect
3.http状态码
1.100(继续):请求者应当继续提出请求,服务器已收到请求的第一部分,正在等待其余部分
2.200(成功):服务器已成功处理了请求,这表示服务器提供了请求的网页
3.300(多种选择)需要进一步操作来完成请求。
4.400(错误请求)服务器不理解请求的语法
5.403(禁止)服务器拒绝请求
6.404(未找到):服务器找不到请求的网页
7.410(已删除)请求的资源已永久删除
8.413 (请求实体过大)请求的实体过大,超出服务器的处理能力
9.414(请求的URL过长):请求的URL过长,服务器无法处理
10.500(服务器错误):服务器遇到错误,无法完成请求
11.502(错误网关):服务器作为网关的代理,从上游服务器收到无效响应
12.505(http版本不受支持)服务器不支持请求中所用的http协议版本
总结
1xx 临时响应,服务器收到请求,需要请求者继续执行操作
2xx 成功 被成功接受并处理
3xx 重定向 需要进一步 操作已完成
4xx 客户端错误,请求包含语法错误或无法完成请求
5xx 服务器错误,服务器处理请求的过程中发生错误
网站打不开可能有那些原因?
1.无网络,网络过慢
2.访问量过大
3.本地资源占用过多
4.URL不正确 或Host被修改
5.防火墙问题
6.证书失效
7.DNS解析失败
8.设置了代理
9.浏览器设置端口错误
10.浏览器不兼容网站
11.服务器代码或内部错误
12.服务器资源未找到
tcp三次握手 四次挥手 过程
第一次握手:客户端向服务器发送建立连接的数据包。
第二次握手:服务器收到请求之后确认联机信息,并向客户端发送确认包。
第三次握手: 客户端收到之后检查确认,若正确,向客户端发送确认包, 服务器收到之后并确认,然后连接成功。
第一次挥手:客户端向服务器发送一个结束包,用来关闭客户端到服务器的数据传输,客 户端进入等待关闭状态
。
第二次挥手:服务器收到结束包,并发回确认包,服务器进入等待关闭状态。
第三次挥手:服务器再发送一个结束包用来关闭数据传输,服务器进入最后确认状态。
第四次挥手:客户端收到结束包之后再向服务器发送一个确认包吗,服务器收到确认包之后关闭连接,客户端等待2MSL(2倍等待时间)之后也关闭连接。
定位问题的方式?
1.抓包:如果后台返回结果与数据库一致但是页面显示不一致,就是前端问题
如果后台返回结果与数据库不一致,就是后端问题
2 查看动态日志:如果是前端报的问题就是前端的问题,如果是后端报的问题就是后端的问题
3 通过http请求状态码 比如1xx 临时响应
2xx 成功
3xx 重定向
4xx 客户端错误
5xx 服务器错误