http,https区别,如何建立安全连接的?
https 与Http 之间的区别是在于有 TLS/SSL 层,有加密和身份验证层
https 如何建立安全连接
线程 IO 模型知道有哪些?
阻塞 IO
当我们用 socket 套接字的写法时,默认是阻塞的,比如 read 方法要传递进去一个参数 n, 表示读取多少字节后再返回, 如果没有读线程就会卡在那里,直到新的数据到来或者连接关闭了, read 方法才可以返回, 线程才可以继续处理。
write 方法一般来说不会阻塞, 除非 内核为 套接字分配的缓冲区已经满了, write 方法就会阻塞。
非阻塞 IO
非阻塞 IO 意味着线程在读写 IO 时,可以不必阻塞, 读写可以瞬间完成,然后线程可以继续干别的事。
while(true){
data = socket.read();
if(data!= error){
处理数据
break;
}
}
事件轮询 (多路复用)
非阻塞 Io 有个问题,线程要读数据,结果读了一部分就返回看,线程如何指定合适才应该继续读, 也就是线程到来是,线程如何得到通知? 阻塞在 select 上。
参考资料
- https://www.cnblogs.com/mytechlife/p/14007557.html