HTTP协议简介: 一些基本概念: 协议:指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则. HTTP协议:超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送给客户端的流览器.下面看一个图: URI和URL的区别:URI:是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源.它主要是由三部分主成: 访问资源的命名机制. 存放资源的主机名. 资源自身的名称,由路径表示,着重强调于资源. 举…
HTTPS是什么? HTTPS并不是一个单独的协议,而是对工作在一加密连接(SSL / TLS)上的常规HTTP协议.通过在TCP和HTTP之间加入TLS(Transport Layer Security)来加密. SSL /  TLS协议: SSL协议,是一种安全传输协议,TLS是SSL v3.0的升级版. Https整体架构图: Https传输速度: 通信慢:相比http协议而言通信要慢一些,毕境是多了一层处理. SSL必须进行加密处理: TLS / SSL握手: 密码学原理:①.对称加密:…
协程是一种用户态的轻量级线程,内核不知道它的存在.协程运行于一个线程中,协程的切换是由用户控制的.线程的切换是由cpu来控制的,而协程的切换是由用户控制的.协程的执行时串行的. select/poll/epoll…
密钥: 密钥是一种参数,它是在使用密码cipher算法过程中输入的参数,同一个明文在相同的密码算法和不同的密钥计算下会产生不同的密文.所以说算法既使公开了但是密钥参数不同其结果也是不同的,其中关于明文和密文下面用一张图来描述一下: 而密钥又分为对称与不对称两种,下面具体来看一下: 密钥:对称 又称为共享密钥加密,对称密钥在加密和解密的过程中使用的密钥是相同的,常见的对称加密算法有DES.3DES.AES.RC5.RC6. 优点是计算速度快: 缺点是密钥需要在通讯的两端共享,也就是不安全啦,因为一…
对于网络上的大部通讯都是基于TCP/IP协议的, 其中最重要的是IP协议,它是基于IP地址的,而计算机通讯只能识别IP地址,如192.168.0.1,而不能识别像咱们在浏览器敲得见名之义的"www.baidu.com"这样的域名,但是呢有一个DNS服务器的计算机会自动把咱们输入的域名翻译成了网络通讯所需要的ip地址,这就是DNS协议,下面来了解一下它. 什么是DNS? 它所提供的服务是用来将主机名和域名转换为IP地址的工作,如下: 可以相互进行转换. DNS查询过程: 递归:DNS服务…
互联网应用的实现主要是通过分层来实现的,每一层有自己相应的功能,上层依赖于下层,具体层次如下图: 下面具体一层层来了解: 物理层 / 实体层: 也就是将电脑通过物理的手段连接起来,其实也就是01电子信号的传输,这层有个了解既可,对于应用开发来说根据接触不到这么底层. 链接层: 链接层的协议它位于物理层上方,而物理层只是一个01的电子信号,木有对信息号进分组,以太网协议规定了电信号的分组方式.下面则是以太网规定的数据包: 其中Head里面包含了发送者或接收者的地址,还有数据类型等,而Data则是数…
最近完成了几项比较简单的项目, 终于是在996里偷了点闲暇时光, 想着来研究研究些啥吧?  一个普通的控制台日志映入了我的眼帘(孽缘呀): (图中使用 SpringBoot 的 log4j 来输出日志, logginglevel: debug, jdk版本为1.8) 造成这种现象的原因可能是, Mybatis在执行接口方法时, 实例化了多个Preparedstatement, 启用了不同的NIO线程, 但是其中, 咦?! 没错, NIO中出了一段IO!!! (天哪!), 在查询网络资料后, 发现…
IO模型 linux系统IO分为内核准备数据和将数据从内核拷贝到用户空间两个阶段. 这张图大致描述了数据从外部磁盘向运行中程序的内存中移动的过程. 用户空间.内核空间 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟储存空间)为4G(2的32次方).操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限.为了保证用户进程不能直接操作内核,保证内核的安全,操作系统将虚拟空间划分为两个部分,一个部分为内核空间,一部分为用户空间…
From:http://www.cnblogs.com/dongguacai/p/5770287.html IO模型 linux系统IO分为内核准备数据和将数据从内核拷贝到用户空间两个阶段. 这张图大致描述了数据从外部磁盘向运行中程序的内存中移动的过程. 用户空间.内核空间 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟储存空间)为4G(2的32次方).操作系统的核心是内核,独 立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限.为了保证用…
网络IO模型及分类 网络IO模型是一个经常被提到的问题,不同的书或者博客说法可能都不一样,所以没必要死抠字眼,关键在于理解. Socket连接 不管是什么模型,所使用的socket连接都是一样的. 以下是一个典型的应用服务器上的连接情况.客户的各种设备通过Http协议与Tomcat进程交互,Tomcat需要访问Redis服务器,它与Redis服务器也建了好几个连接.虽然客户端与Tomcat建的是短连接,很快就会断开,Tomcat与Redis是长连接,但是它们本质上都是一样的. 建立一个Socke…