2024年最新web网络协议_web协议,2024年Web前端开发者常见面试题

TCP协议

  • TCP 和 UDP 的区别?
  • TCP 三次握手的过程?
  • 为什么是三次而不是两次、四次?
  • 三次握手过程中可以携带数据么?
  • 说说 TCP 四次挥手的过程
  • 为什么是四次挥手而不是三次?
  • 半连接队列和 SYN Flood 攻击的关系
  • 如何应对 SYN Flood 攻击?
  • 介绍一下 TCP 报文头部的字段
  • TCP 快速打开的原理(TFO)
  • 说说TCP报文中时间戳的作用?
  • TCP 的超时重传时间是如何计算的?
  • TCP 的流量控制
  • TCP 的拥塞控制
  • 说说 Nagle 算法和延迟确认?
  • 如何理解 TCP 的 keep-alive?

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

浏览器篇
  • 浏览器缓存?
  • 说一说浏览器的本地存储?各自优劣如何?
  • 说一说从输入URL到页面呈现发生了什么?
  • 谈谈你对重绘和回流的理解
  • XSS攻击
  • CSRF攻击
  • HTTPS为什么让数据传输更安全?
  • 实现事件的防抖和节流?
  • 实现图片懒加载?

断开连接客户端和服务器都可以主动发起,以客户端主动发起为例
1.客户端->服务器 结束标志位FIN有效,表示客户端希望和服务器断开连接,有发送序号seq=300
2.服务器->客户端 确认标志位ACK有效,确认号ack=301,表示服务器同意客户端发送序号是300的断开连接请求,有发送序号seq=400
3.服务器->客户端 确认标志位ACK有效,确认号ack=301,表示服务器对客户端发送序号是300的断开连接请求的回应,结束标志位FIN有效,表示服务器希望和客户端断开连接,有发送序号seq>=400
4.客户端->服务器 确认标志位ACK有效,确认号ack>=401,表示客户端同意服务器发送序号是>=400的断开连接请求,客户端的发送序号seq自增,值为301

  1. UDP 协议
    UDP = User Datagram Protocol = 用户数据报协议
    UDP 是一种无连接的 传输层 协议,提供面向事务的简单不可靠信息传送服务
    优点
    数据传输过程中延迟小,数据传输效率高,速度快
    缺点
    不提供数据包分组和组装,不能对数据包进行排序;
    不保证数据传输的可靠性,可靠性由上层(应用层)保证

UDP 和 TCP 的对比

TCPUDP
名称传输控制协议用户数据报协议
连接面向连接无连接
传输模式字节流报文
传输可靠性可靠不可靠
资源占用较多较少
复杂度较复杂较简单
数据顺序保证不保证
传输效率
  1. HTTP 协议
    HTTP = HyperText Transfer Protocol = 超文本传输协议
    HTTP 是一种 应用层 的协议
    规定了浏览器和 Web 服务器之间互相通信的规则, 通过网络传送 Web 文档的数据传送协议

特点

  • HTTP 协议是一种请求-应答式的协议
  • 从建立连接到关闭连接的过程称为“一次连接”
  • 最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。

原理

  • 连接用完就释放
  • 需要不断向服务器发起连接请求来保持在线状态。
  • 若服务器长时间无法收到客户端的请求,则认为客户端“下线”
  • 若客户端长时间无法收到服务器的回复,则认为网络已经断开

两个版本差异
HTTP 协议是无连接的协议

  • HTTP 1.0 短连接(非持久连接)
    客户端的每次请求都要求建立一次单独的连接
    在处理完本次请求后,就自动释放连接
  • HTTP 1.1 长连接(持久连接)
    可以在一次连接中处理多个请求
    并且多个请求可以重叠进行, 不需要等待一个请求结束后再发送下一个请求

HTTP 请求
请求 Request ,由客户端发送给服务器端
请求的方法(方式 Method)
GET 请求 主要是数据的获取
POST 请求 主要是数据的提交

GET 请求和 POST 请 求 的 区 别 :(★)

  • GET使用URL或Cookie传参。而POST将数据放在BODY中。
  • GET的URL会有长度上的限制,则POST的数据则可以非常大。
  • POST比GET安全,因为数据在地址栏上不可见。
  • 一般GET请求用来获取数据,POST请求用来发送数据,数据提交。

HTTP 响应
响应 Response ,由服务器端返回给客户端

  • 正常响应状态码 1XX,2XX,3XX
    200 正常状态码
  • 异常响应状态码 4XX,5XX
    404 Not Found 找不到需要访问的资源

HTTPS请求特点

  • 为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL/TLS协议,SSL/TLS依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
  • HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
  • HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

HTTPS和HTTP的主要区别:(★)

  • https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用。
  • http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl/tls加密传输协议。
  • http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  • http的连接很简单,是无状态的。
    总结:HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

三、Wireshark

  1. Wireshark 的特点
    是非常流行的网络封包分析软件;
    可以截取各种网络封包,显示网络封包的详细信息,但不能修改数据包的内容或者发送数据包;
    能获取 HTTP、HTTPS,但是不能解密 HTTPS,所以无法读取 HTTPS 中的内容。
  2. 过滤数据包
过滤要求过滤条件表达式
过滤 IP 地址ip.addr==172.31.128.199
过滤源 IP 地址ip.src==172.31.128.199
过滤 目的IP 地址ip.dst==172.31.128.199
过滤端口tcp.port==80
过滤源端口tcp.srcport==80
过滤目的端口tcp.dstport==80
过滤协议http
过滤HTTP 请求方式GEThttp.request.method==“GET”
过滤HTTP 请求方式POSThttp.request.method==“POST”

四、 Cookie 和 Session

Web 网站如何进行会话跟踪

困难
HTTP 协议是无状态协议
HTTP 协议不保存客户端信息,无法区分每次请求的不同之处

解决方法
Cookie

  • 服务器暂存放在用户计算机上的一些资料,可以让服务器用来辨认用户的计算机。
  • Cookie 通过在客户端记录信息确定用户身份
  • 应用
    保存用户的身份信息

自学几个月前端,为什么感觉什么都没学到??


这种现象在很多的初学者和自学前端的同学中是比较的常见的。

因为自学走的弯路是比较的多的,会踩很多的坑,学习的过程中是比较的迷茫的。

最重要的是,在学习的过程中,不知道每个部分该学哪些知识点,学到什么程度才算好,学了能做什么。

很多自学的朋友往往都是自己去找资料学习的,资料上有的或许就学到了,资料上没有的或许就没有学到。

这就会给人一个错误的信息就是,我把资料上的学完了,估计也-就差不多的了。

但是真的是这样的吗?非也,因为很多人找的资料就是很基础的。学完了也就是掌握一点基础的东西。分享给你一份前端分析路线,你可以参考。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

还有很多的同学在学习的过程中一味的追求学的速度,很快速的刷视频,写了后面忘了前面,最后什么都没有学到,什么都知道,但是什么都不懂,要具体说,也说不出个所以然。

所以学习编程一定要注重实践操作,练习敲代码的时间一定要多余看视频的时间。

65ecb71ac0)**

还有很多的同学在学习的过程中一味的追求学的速度,很快速的刷视频,写了后面忘了前面,最后什么都没有学到,什么都知道,但是什么都不懂,要具体说,也说不出个所以然。

所以学习编程一定要注重实践操作,练习敲代码的时间一定要多余看视频的时间。

  • 15
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值