当前位置: 首页 > news >正文

【面试准备·3】网络相关

既是拾人牙慧,部分问题就直接放我认为比较优秀的文章链接了,仅供参考。如果您发现错误,请一定要告诉我,拯救一个辣鸡(但很帅)的少年就靠您了!

TCP 和 UDP

TCP和UDP的优缺点及区别

  1. TCP 面向连接,UDP 是无连接的,即发送数据之前不需要建立连接。

  2. TCP 提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP 尽最大努力交付,即不保证可靠交付。

  3. TCP 面向字节流,实际上是 TCP 把数据看成一连串无结构的字节流;UDP 是面向报文的。UDP 没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如 IP 电话,实时视频会议等)。

  4. 每一条 TCP 连接只能是点到点的;UDP 支持一对一,一对多,多对一和多对多的交互通信。

  5. TCP 首部开销 20 字节;UDP 的首部开销小,只有 8 个字节。

  6. TCP 的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道。

TCP 三次握手和四次挥手

TCP没那么难吧?

什么是 HTTP

超文本传输协议(HyperText Transfer Protocol,HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。

HTTP 状态码

1xx:消息,请求已被服务器接收,继续处理

2xx:成功,请求已成功被服务器接收、理解、并接受

3xx:重定向,需要后续操作才能完成这一请求

4xx:请求错误,请求含有词法错误或者无法被执行

5xx:服务器错误,服务器在处理某个正确请求时发生错误

HTTP 请求方式

OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE

POSTGET 区别?

HTTP1 和 HTTP2 区别

HTTP1.0、HTTP1.1和HTTP2.0的区别

  • 采用二进制格式(Binary Format)
  • 多路复用(MultiPlexing)
  • header 压缩
  • 服务端推送(server push)

强缓存与协商缓存

前端优化:浏览器缓存技术介绍

关键词: Expires/Cache-Controlpublic/privateno-store/no-cacheLast-Modified/Etag

什么是 HTTPS?

两个感性的小故事:HTTPS 的故事、一个故事讲完https

HTTPS 是 HTTP 的安全版,即 HTTP 下加入 SSL 层。

SSL 协议位于 TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。

SSL协议可分为两层:

SSL 记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。

SSL 握手协议(SSL Handshake Protocol):它建立在 SSL 记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

HTTP 和 HTTPS 区别

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

Cookie、sessionStorage、localStorage、IndexDB

  • Cookie 数据始终在同源的 HTTP 请求中携带(即使不需要),即 Cookie 在浏览器和服务器间来回传递。而 sessionStoragelocalStorage 不会自动把数据发给服务器,仅在本地保存。Cookie 数据还有路径(path)的概念,可以限制 Cookie 只属于某个路径下,存储的大小很小只有4K左右。

  • sessionStorage 仅在当前浏览器窗口关闭前有效,localStorage始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据,Cookie 只在设置的 Cookie 过期时间之前一直有效,即使窗口或浏览器关闭。

  • localStorageCookie 在所有同源窗口中都是共享的。但是不同页面或标签页间无法共享 sessionStorage 的信息。

  • IndexDB 是一个运行在浏览器上的非关系型数据库。理论上来说,IndexDB 是没有存储上限的(一般来说不会小于 250M)。它不仅可以存储字符串,还可以存储二进制数据。

如何保持登录状态

因为 HTTP 是无状态协议,每一次请求间相互独立,服务端不会记住请求发送请求的客户端。

浅显的理解三种方式,cookie、session 和 token 。

  1. cookie 存储用户信息。缺点不安全,容易被伪造。

  2. session 是服务端会记录用户信息,并通过 session id 来标识查找这个信息。浏览器发送请求时通过参数或 cookie 将 session id 传给服务端使其获取用户信息。

  3. token 是用户登录后,服务端生成一个 token 返回给客户端。客户端后续请求会带上这个 token ,可以通过 cookie 或 header 中 Authorization 字段(没有 cookie 的跨域问题),服务端解析 token 获取用户信息。

跨域问题

(再看一遍觉得阮一峰老师写的真好……

浏览器同源政策及其规避方法

跨域资源共享 CORS 详解

从输入 URL 到页面加载完成,发生了什么?

  1. DNS 解析
    域名解析为 IP 地址,浏览器缓存-->操作系统缓存-->访问 DNS 服务器
  2. TCP 连接
    三次握手、四次挥手
  3. HTTP 请求
    强缓存、协商缓存
  4. 服务端处理请求,HTTP 响应返回
    返回码
  5. 浏览器拿到响应数据,解析响应内容,把解析的结果展示给用户
    DOM树、CSSOM树、Render树、回流、重绘

转载于:https://juejin.im/post/5c8cbca8f265da2deb6af244

相关文章:

  • Linux基础(第二周)
  • java 企业门户网站 源码 自适应响应式 freemarker 静态引擎 html5 SSM
  • 搭建nonde项目结构
  • 简单封装的ajax请求
  • MySQL学习【第十三篇日志管理】
  • BootStrap基础知识
  • Shiro原理解析(三)--再谈过滤器
  • mysql-python安装时EnvironmentError: mysql_config not found
  • 蚂蚁金服开源服务注册中心 SOFARegistry | SOFA 开源一周年献礼
  • Grafana 6.1.0-beta1 发布,系统指标监控与分析平台
  • HighChart教程:如何使用Highcharts Cloud API(二)
  • 企业级web缓存服务器Varnish
  • MIPS R6架构现已可供开放使用
  • 常用快捷键总结
  • 防抖与节流
  • 《剑指offer》分解让复杂问题更简单
  • 【附node操作实例】redis简明入门系列—字符串类型
  • 【技术性】Search知识
  • avalon2.2的VM生成过程
  • canvas绘制圆角头像
  •  D - 粉碎叛乱F - 其他起义
  • IDEA 插件开发入门教程
  • Intervention/image 图片处理扩展包的安装和使用
  • Javascript弹出层-初探
  • java小心机(3)| 浅析finalize()
  • JS字符串转数字方法总结
  • Object.assign方法不能实现深复制
  • unity如何实现一个固定宽度的orthagraphic相机
  • XML已死 ?
  • 百度小程序遇到的问题
  • 记一次删除Git记录中的大文件的过程
  • 力扣(LeetCode)21
  • 码农张的Bug人生 - 见面之礼
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 如何在 Tornado 中实现 Middleware
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 我从编程教室毕业
  • 大数据全解:定义、价值及挑战
  • 湖北分布式智能数据采集方法有哪些?
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • ​决定德拉瓦州地区版图的关键历史事件
  • #每日一题合集#牛客JZ23-JZ33
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (排序详解之 堆排序)
  • (四)模仿学习-完成后台管理页面查询
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • .FileZilla的使用和主动模式被动模式介绍
  • .net和jar包windows服务部署
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc