阿里前端面试深度解析:HTTP、Cookie与Web技术
需积分: 0 83 浏览量
更新于2024-07-01
收藏 5.51MB PDF 举报
"阿里前端面试(含答案)1"
这篇资源涵盖了广泛的前端技术知识点,主要集中在HTTP协议、浏览器工作原理、Web存储以及前端优化等方面。以下是相关知识点的详细说明:
1. **HTTP/HTTPS**: HTTP是无状态的、基于文本的协议,用于传输Web数据,而HTTPS是在HTTP上加了一层SSL/TLS加密,提供更安全的数据传输。
2. **TCP三次握手**: TCP连接建立过程,确保双方都有能力进行通信,避免了数据丢失或错误传输。
3. **TCP和UDP的区别**: TCP是面向连接的、可靠的传输协议,而UDP是无连接的、不可靠的,但速度更快。
4. **WebSocket**: 实现持久化连接,允许服务器主动向客户端推送数据,常用于实时应用。
5. **HTTP请求方式**: 包括GET、POST、PUT、DELETE等,HEAD方式只获取响应头,不返回实体内容。
6. **图片URL直接下载**: 通过设置Content-Disposition响应头为attachment,可以触发浏览器下载行为。
7. **Web Quality(无障碍)**: 关注网站可访问性,确保残障人士也能正常浏览。
8. **BOM(浏览器对象模型)属性和方法**: 涉及到window对象、navigator对象、location对象等,用于浏览器级别的交互。
9. **HTML5 Drag API**: 允许用户通过拖放操作来移动元素或数据。
10. **HTTP/2.0**: 提供多路复用、二进制分帧等特性,提高了HTTP性能。
11. **状态码400、401、403**: 分别表示请求错误、未授权、禁止访问,分别对应不同的客户端错误情况。
12. **fetch发送两次请求**:预检请求(CORS)和实际请求,确保跨域安全。
13. **Cookie、sessionStorage、localStorage区别**:Cookie用于跨页面共享数据,有大小和安全限制;sessionStorage同源同窗口共享,关闭即清除;localStorage持久化存储,无大小限制但不安全。
14. **Web Worker**:在后台线程执行脚本,提高处理密集型任务的能力。
15. **HTML语义化标签**:如<header>、<nav>、<article>等,帮助搜索引擎理解和渲染网页内容。
16. **iframe**:用于在页面内嵌入另一个页面,但可能导致加载性能问题和安全性风险。
17. **DOCTYPE**:声明文档类型,影响浏览器解析模式。严格模式遵循标准,混杂模式兼容旧规范。
18. **Cookie防范XSS攻击**:通过设置HttpOnly标志,防止JavaScript访问Cookie,减少跨站脚本攻击。
19. **Cookie和Session区别**:Cookie存储在客户端,大小有限且存在安全风险;Session存储在服务器端,更安全但可能增加服务器负载。
20. **RESTful**:代表表述性状态转移,设计API的一种风格,强调资源和状态操作。
21. **Viewport和移动端布局**:Viewport是移动设备的可视区域,移动端布局通常采用响应式设计适应不同屏幕尺寸。
22. **300ms点击延迟**:iOS上的点击延迟问题,可通过添加FastClick库或其他技术优化。
23. **addEventListener参数**:除了事件处理函数外,还可以接受useCapture和passive标志,用于控制事件处理顺序和阻止滚动优化。
24. **缓存策略**:强缓存使用Expires或Cache-Control: max-age,不与服务器交互;协商缓存使用If-None-Match或If-Modified-Since,询问服务器资源是否更新。
25. **304状态码**:表示客户端有缓存,资源未修改,服务器无需返回完整响应。
26. **GET和POST的区别**:GET用于获取数据,数据在URL中可见,POST用于提交数据,数据在请求体中。
27. **301和302重定向**:301永久重定向,302临时重定向,前者用于URL变更,后者用于临时跳转。
28. **HTTP支持的方法**:除了常见的GET、POST,还有PUT、DELETE、HEAD、OPTIONS等。
29. **HTTP头部**:包括Cache-Control、Content-Type、Set-Cookie等,控制请求和响应的行为。
30. **HTTP状态码**:如200表示成功,404表示未找到,500表示服务器错误。
31. **前端优化**:包括代码压缩、懒加载、CDN、减少HTTP请求、缓存利用等,提升页面加载速度和用户体验。
这些知识点是前端开发者必须掌握的基础,也是面试中常见的问题。深入理解并能灵活运用这些概念和技术,对于成为一名优秀的前端工程师至关重要。
2022-08-03 上传
2014-07-16 上传
2016-08-03 上传
2021-10-12 上传
2021-05-13 上传
2021-05-13 上传
点击了解资源详情
胡说先森
- 粉丝: 711
- 资源: 280
最新资源
- ballista:现代网络的互操作性系统
- gsheet-planner:聪明的,可自动排序的Google表格计划器
- 翻译翻译什么叫HTML5(一)配套代码资源包
- Towering Yoga Masters Free Game-crx插件
- 我的
- Toolint-tests-Empty-TC-Add-Tools-2021-03-11T20-17-21.121Z:为工具链创建
- List:用CodeSandbox创建
- timecat-mmo::smiling_cat_with_heart-eyes: 时间猫,但是一个 MMO
- 视觉暂留测试工具-crx插件
- 变色龙:BAOBAB服务器的“第二层”模型交互层
- Perifa_Acessa:Com recursos de voz(acessibilidade)podendo ser a Alexa(Firefox)ou o Watson(Microsoft),Recursos de Hand Talk eImplementaçõesde melhorias a fazer,esteéum eta(protótipo)
- posterus:具有取消功能,可调度控制和协程的可组合异步原语(期货)
- OS-Places:演示和代码示例的OS Places存储库
- Commando Girl Free Games-crx插件
- PSTools GUI:PSTools 的图形前端-开源
- 彼得里斯