7层osi(开放式系统互联通信参考模型)
- 应用层:允许访问osi环境的手段
- 表示层: 对数据进行翻译,压缩,和解析
- 会话层: 建立,管理终止会话
- 传输层: 提供端到端的可靠的报文传输以及错误恢复
- 网络层: 提供数据包源到宿的传递以及网络互连
- 数据链路层:将bit组装成帧,以及点到点之间的传递
- 物理层:通过物理媒介传递bit,以及确定机械及电气规范
TCP与UDP之间的区别
TCP提供面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。
TCP传输单位称为TCP报文段,UDP传输单位称为用户数据报。
TCP注重数据安全性,UDP数据传输快,因为不需要连接等待,少了许多操作,但是其安全性却一般
DNS:用于域名解析服务,将域名地址转换为IP地址。
一个页面从输入URL到页面加载显示完成,这个过程都发生什么?(http的工作原理)
1.首先在浏览器中输入url(uniform resource locator,统一资源定位器)
2.浏览器先查看浏览器缓存-系统缓存-路由缓存,如果缓存中有,就直接在屏幕中显示页面内容。若没有,则进行下一步。
3.在发送http之前,需要先进行域名解析(DNS)获得对应的ip地址。
4.浏览器与服务器发起tcp连接,建立三次握手。
5.握手成功后,浏览器向服务器发送http请求,请求数据包。
6.服务器收到请求,将数据返回至浏览器
7.浏览器收到http响应
8.tcp四次挥手断开
9.浏览器解析代码,请求css等资源,最后进行页面的渲染,呈现给用户。
计算机中的乘法与除法
例子: 7×5可以写成如下的二进制方式,7为乘数,5为被乘数。 7×5=0111×0101
那么规则就是,按照被乘数的低位到高位依次计算,如果第n位不为0,那么乘数就左移n位,如果第n为为0,那么这步运算结果记为0,最后将每一步的结果相加就是最终的计算结果
例子: 123/4写成二进制的形式如下,123为除数,4为被除数。 123/4=1111011/0100
那么规则就是按照除数的高位到低位的数字依次和被除数进行比对,如果大于等于被除数,则此步结果记为1,并求得余数,如果小于被除数则将上一步的余数左移一步加上一位的数字再次比较,以此类推,最终将依次计算的结果相连组成二进制就是商,最后一次的余数就是求余的结果。
进程间通信
管道 信号 消息队列 共享内存 socket 信号量
-
管道:一般分为命名管道和无名管道
无名管道:父子间 。 命名管道则不受限制
管道:数据只能在一个方向上流动,具有固定的读取端和写端。
-
信号:在软件层次上对中断机制的一种模拟,是一种异步通信方式。一个进程可以向另一个进程发送信号。
-
信号量:信号量用于实现进程间的互斥与同步,而不是用于存储进程间通信数据。
-
socket套接字:更为一般的进程间通信机制,可用于不同机器之间的进程间通信
-
消息队列: 消息队列是一列具有头和尾的消息排列,新来的消息放在队列尾部,而读取消息则从队列头部开始。
(1)消息队列无固定的读写进程,任何进程都可以读写;而管道需要指定谁读和谁写;
(2)消息队列可以同时支持多个进程,多个进程可以读写消息队列;即所谓的多对多,而管道是点对点;
(3)消息队列只在内存中实现,而管道还可以在磁盘上实现; -
共享内存:两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。
http与https之间的区别
在URL前加https://前缀表明是用SSL加密的。你的电脑与服务器之间收发的信息传输将更加安全。 Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定。 http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
https协议需要到ca申请证书,一般免费证书很少,需要交费。
http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议
http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。
http的连接很简单,是无状态的
HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全
: