网上做翻译兼职网站,哈尔滨网站建设收费,wordpress rpc利用 扫描,珠海seo推广该内容主要整理关于 HTTP模块 的相关面试题#xff0c;其他内容面试题请移步至 「最新最全的前端面试题集锦」 查看。 HTTP模块精选篇 1. HTTP 报文的组成部分2. 常见状态码3. 从输入URL到呈现页面过程3.1 简洁3.2 详细 4. TCP、UDP相关5. HTTP2相关6. https相关7. WebSocket的… 该内容主要整理关于 HTTP模块 的相关面试题其他内容面试题请移步至 「最新最全的前端面试题集锦」 查看。 HTTP模块精选篇 1. HTTP 报文的组成部分2. 常见状态码3. 从输入URL到呈现页面过程3.1 简洁3.2 详细 4. TCP、UDP相关5. HTTP2相关6. https相关7. WebSocket的实现和应用8. Token、cookie、Session区别9. 一个图片 url 访问后直接下载怎样实现10. fetch 发送 2 次请求的原因11. GET 和 POST 的区别12. 301 和 302 的区别13. DNS的作用、DNS解析的详细过程DNS优化原理14. 简单请求和复杂请求15. Http请求中的keep-alive有了解吗16. 管道机制的作用是什么17. 什么情况下会触发 option 请求18. GET 可以上传图片吗19. CDN 的作用和原理20. 强缓存命中发生了什么21. CORS跨域的原理22. 在深圳的网页上输入百度是怎么把这个请求发到北京的23. 为什么使用多域名部署24. 页面10张imghttp1是怎样的加载表现怎样解决的25. 说一说SSO单点登录26. 说一说OAuth27. HTTP 中的 301、302、303、307、308 响应状态码 1. HTTP 报文的组成部分
请求报文
请求行 ( http 方法 页面地址 http 协议 版本)请求头( key value 值)空行(服务端通过空行来判断下一部分不再是请求头而当做请求体来解析)请求体(数据部分)
响应报文
状态行 响应头 空行 响应体
2. 常见状态码
状态码分类
1xx服务器收到请求2xx请求成功如 2003xx重定向如 3024xx客户端错误如 4045xx服务端错误如 500
常见状态码
200成功301永久重定向配合 location浏览器自动处理302临时重定向配合 location浏览器自动处理304资源未被修改400: 请求语法错误401: 未授权403没权限404资源未找到500服务器错误504网关超时
HTTP状态码 [待上传]
3. 从输入URL到呈现页面过程
3.1 简洁
浏览器的地址栏输入URL并按下回车DNS 解析将域名解析成 IP 地址TCP 连接TCP 三次握手三次握手的目的为了防止已经失效的连接 请求报文段突然又传送到了服务器端从而产生错误发送 HTTP 请求服务器处理请求并返回 HTTP 报文浏览器解析渲染页面断开连接TCP 四次挥手
3.2 详细
HTTP请求示意图 浏览器中的HTTP请求从发起到结束一共经历了如下八个阶段构建请求、查找缓存、准备IP和端口、等待TCP队列、建立TCP连接、发起HTTP请求、服务器处理请求、服务器返回请求和断开连接 用户输入url并回车 浏览器进程检查url组装协议构成完整的url 浏览器进程通过进程间通信IPC把url请求发送给网络进程 网络进程接收到url请求后检查本地缓存是否缓存了该请求资源如果有则将该资源返回给浏览器进程 如果没有网络进程向web服务器发起http请求网络请求请求流程如下 进行DNS解析获取服务器ip地址端口利用ip地址和服务器建立tcp连接构建请求头信息发送请求头信息服务器响应后网络进程接收响应头和响应信息并解析响应内容 网络进程解析响应流程: 检查状态码如果是301/302则需要重定向从 Location 自动中读取地址重新进行第4步如果是200则继续处理请求200响应处理检查响应类型Content-Type如果是字节流类型则将该请求提交给下载管理器该导航流程结束不再进行后续的渲染如果是html则通知浏览器进程准备渲染进程准备进行渲染 准备渲染进程 浏览器进程检查当前url是否和之前打开的渲染进程根域名是否相同如果相同则复用原来的进程如果不同则开启新的渲染进程 传输数据、更新状态 渲染进程准备好后浏览器向渲染进程发起“提交文档”的消息渲染进程接收到消息和网络进程建立传输数据的“管道”渲染进程接收完数据后向浏览器发送“确认提交”浏览器进程接收到确认消息后更新浏览器界面状态安全、地址栏url、前进后退的历史状态、更新web页面
4. TCP、UDP相关
4.1 UDP 和 TCP 有什么区别4.2 TCP 为什么要三次握手4.3 三次握手过程中可以携带数据吗4.4 TCP 的四次挥手4.5 TCP 和 UDP 的区别4.6 HTTP 和 TCP 的不同
5. HTTP2相关
5.1 说一下 http2.05.2 HTTP2 和 HTTP1 有什么区别5.3 http/2 为什么要做头部压缩实现原理是什么5.4 http/2 的 Server Push 有什么优点5.5 谈谈你对多路复用的理解
6. https相关
6.1 HTTPS 加的一层 SSL 在七层中哪个位置6.2 https 协议的优点6.3 https 协议的缺点6.4 http 与 https 区别6.5 https 传输的具体过程6.6 HTTPS 的整体过程分为证书验证和数据传输阶段6.7 介绍一下 https 的握手过程6.8 为什么 https 数据传输使用对称加密6.9 介绍下 https 中间人攻击的过程6.10 HTTPS 握手过程中客户端如何验证证书的合法性6.11 问题6.12 数字签名它是什么6.13 谈谈对数字证书的理解6.14 为什么说数字证书就能对通信方的身份进行验证呢6.15 请详细的说一下 HTTPS 它的加密传输过程涉及到哪些算法呢6.16 描述一下 RSA 握手6.17 ECDHE 握手和 RSA 握手又有什么区别呢6.18 你知道 TSL1.3 版本吗它较 TSL1.2 做了哪些改进呢6.19 介绍下 HTTPS 中间人攻击6.20 http/https 协议总结
7. WebSocket的实现和应用
7.1 什么是 WebSocket7.2 WebSocket 是什么样的协议具体有什么优点7.3 理解WebSocket协议的底层原理、与HTTP的区别
8. Token、cookie、Session区别
8.1 Cookie 和 session 的区别8.2 cookie 和 token 都存放在 header 中为什么不会劫持 token8.3 介绍下如何实现 token 加密
9. 一个图片 url 访问后直接下载怎样实现
10. fetch 发送 2 次请求的原因
11. GET 和 POST 的区别
12. 301 和 302 的区别
13. DNS的作用、DNS解析的详细过程DNS优化原理
14. 简单请求和复杂请求
15. Http请求中的keep-alive有了解吗
16. 管道机制的作用是什么
17. 什么情况下会触发 option 请求
18. GET 可以上传图片吗
19. CDN 的作用和原理
如何捕获 CDN 上的 js 运行时导致的详细错误信息
20. 强缓存命中发生了什么
默认的强制缓存时间是多少
21. CORS跨域的原理
CORS的哪些是简单请求CORS的预检请求具体是怎样的为什么简单请求不需要预检复杂请求预检检查什么东西如果CORS附带身份凭证要怎样做如何减少CORS预请求的次数
22. 在深圳的网页上输入百度是怎么把这个请求发到北京的
23. 为什么使用多域名部署
24. 页面10张imghttp1是怎样的加载表现怎样解决的
25. 说一说SSO单点登录
26. 说一说OAuth
27. HTTP 中的 301、302、303、307、308 响应状态码