一些需要知道的概念

编程概念(三):服务器相关

2019-05-18  本文已影响0人  justworld

1、TCP/IP分层

网络接口层、网络层(IP、ICMP)、传输层(TCP、UDP)、应用层(HTTP、FTP、SMTP、TELNET、DNS)

2、握手机制

TCP连接三次握手,关闭四次握手;UDP是无连接协议

3、linux I/O多路复用

select、poll和epoll。select、poll会对所有文件描述符遍历获取就绪状态,epoll采用的是回调机制。这里比较一下python的几个服务器框架:django、tornado、gunicorn、gevent。django提供了一个简单的服务器实现,用的是select;tornado用的是epoll;gunicorn提供了worker概念,有默认实现的worker,也可以把gevent、tornado当成worker;gevent的I/O这块用的是libev,支持epoll,同时使用协程(greenlet库)支持异步IO

4、容器

与系统其他部分隔离开的一系列进程,共用硬件和操作系统内核,而虚拟机则是虚拟出硬件独立存在。原理:控制组和命名空间

5、TCP连接状态图

状态

6、HTTP状态码

7、HTTP2.0和HTTP1.x对比

上一篇下一篇

猜你喜欢

热点阅读