一、HTTP/HTTPS相关
- HTTP协议的基本请求方法及状态码含义
- 请求方法:
GET(获取资源)、POST(提交数据)、PUT(更新资源)、DELETE(删除资源)、HEAD(获取头部信息)、OPTIONS(查询支持的方法)等。 - 状态码:
2xx:成功(如200 OK表示正常响应,201 Created表示新建资源)。3xx:重定向(如301永久重定向,302临时重定向)。4xx:客户端错误(如404 Not Found资源不存在,401 Unauthorized未授权)。5xx:服务器错误(如500 Internal Server Error服务端异常)。
- HTTPS与HTTP的区别及优势
- 区别:
- HTTPS 加密传输数据(TLS/SSL 协议),HTTP 明文传输。
- HTTPS 使用端口
443,HTTP 默认80。 - HTTPS 需要数字证书认证。
- 优势:保护隐私、防中间人攻击、提升信任度。
- HTTP与HTTPS的核心区别
- 是否加密通信、是否需要证书、默认端口不同。
- HTTPS的原理及握手过程
- 原理:基于 TLS/SSL 协议,通过非对称加密交换对称密钥,再用对称加密传输数据。
- 握手流程:
- ClientHello(客户端发送协议版本、随机数、支持的加密套件)。
- ServerHello(服务端选择加密套件,返回证书和随机数)。
- Certificate(服务端提供身份证书)。
- ClientKeyExchange(客户端用证书公钥加密对称密钥并发送)。
- ChangeCipherSpec(双方切换为对称加密模式)。
- Finished(验证握手成功)。
- HTTPS加密实现原理
- 对称加密(如 AES)用于高效传输数据,非对称加密(如 RSA)用于安全交换对称密钥,数字证书绑定公钥以验证身份。
- HTTP/2的特性及优势
- 多路复用(单连接并发传输)、头部压缩(HPACK)、服务器推送(预加载资源)、优先级队列(按权重调度请求)。
- 优势:减少延迟,提高带宽利用率。
-
完整HTTP事务的过程
-
域名解析:DNS 将域名转为 IP 地址。
-
TCP 握手:建立可靠连接(三次握手)。
-
发送 HTTP 请求:客户端发送请求报文。
-
服务器响应:处理请求并返回响应报文。
-
TCP 挥手:四次挥手关闭连接。
-
GET与POST请求的区别
- 传参:GET 参数附加在 URL,POST 放在请求体。
- 缓存:GET 可被缓存,POST 不行。
- 安全性:POST 更安全(参数不暴露)。
- 长度限制:GET 参数长度受 URL 限制(通常较短)。
- HTTP常用状态码及其含义
200 OK(成功)、201 Created(新建资源)、301永久重定向、302临时重定向、400 Bad Request(请求错误)、401 Unauthorized(未授权)、403 Forbidden(禁止访问)、404 Not Found(资源不存在)、500 Internal Server Error(服务端错误)。
- HTTP状态码分类
1xx:信息性(如100 Continue)。2xx:成功。3xx:重定向。4xx:客户端错误。5xx:服务器错误。
二、TCP/UDP相关
- TCP与UDP的区别及适用场景
- 区别:
- TCP 面向连接、可靠传输(确认重传机制),UDP 无连接、尽最大努力交付。
- TCP 适用于文件传输、网页访问,UDP 适用于视频流、实时游戏。
- TCP三次握手与四次挥手的原理
- 三次握手:
- 客户端发送 SYN(请求连接)。
- 服务端回复 SYN+ACK(确认并同步序号)。
- 客户端回复 ACK(确认连接建立)。
- 四次挥手:
- 客户端发送 FIN(结束连接)。
- 服务端回复 ACK。
- 服务端发送 FIN。
- 客户端回复 ACK(完全关闭)。
三、网络安全
- 跨域问题的解决方案
- CORS(跨源资源共享)、JSONP(仅限 GET 请求)、代理服务器、WebSocket(协议层支持跨域)。
- XSS与CSRF的防御措施
- XSS:输入过滤、输出编码(如 HTML 转义)、使用 CSP(内容安全策略)。
- CSRF:CSRF Token、SameSite Cookie、验证码。
- DNS劫持的原理及防范措施
- 原理:攻击者篡改 DNS 解析结果,诱导用户访问恶意网站。
- 防范:使用可信 DNS 服务(如 Google DNS)、启用 DoH/DoT 加密(DNS over HTTPS/DoT)。
四、网络基础
- CDN加速的实现原理
- 通过分布式边缘节点缓存静态资源,用户就近访问以减少延迟和带宽消耗。
- RESTful API的设计原则
- 无状态、资源导向(URL 表示资源)、统一接口(HTTP 方法 + URI + 状态码)、使用 HTTP 协议语义。
五、Web安全
- Cookie和Session的区别及其在前端开发中的应用
- 区别:
- Cookie 存储在客户端,可持久化;Session 存储在服务端,安全性更高。
- Cookie 可跨域共享,Session 通常绑定单一域名。
- 应用:Cookie 用于用户登录状态持久化,Session 用于服务器端会话管理。
六、前端工程化
- CommonJS与ES6模块的区别
- 语法:CommonJS 使用
require()和module.exports,ES6 使用import/export。 - 作用域:CommonJS 模块是单例,ES6 模块支持静态解析。
- 加载:CommonJS 同步加载(Node.js 适用),ES6 支持异步/动态导入(浏览器原生支持)。