20170510 HTTPS加密原理/流的概念/URL的组成/NAT的概念

来源:互联网 发布:许小年水平怎么样知乎 编辑:程序博客网 时间:2024/06/06 07:45

补日记的同时赶快学习,难得这两天稍微闲一点,赶紧充充电,准备应付下一波


HTTPS的加密通信原理

HTTPS是基于HTTP协议以及TCPIP协议而产生的新的加密通信机制,TCP协议相当于快递员,他们的存在是确认道路通畅,HTTP协议是负责将数据打包,通过TCP发送出去,但是这个打包数据是明文的,容易被截获篡改,在一些需要保密的场景下是不合适的,所以才在HTTP协议上加了一个SSL协议,将信息加密发送,从而保证安全,解密的工具有私钥和公钥之分,具体逻辑如下图。





“流”的概念

流的来源是基于互联网上获取信息的逻辑,我们平时看网页,下文件,打游戏等等,其实本质意义上都是数据不间断传输所表现出来的结果,这就像是一个管道,连通着客户端和服务器,不间断的通信传输数据,从而形成流,在C++  JAVA  等编程语言中,流叫做stream,这就是一个不断获取数据的过程



URL应该怎么看

常见的域名其实是分了很多部分的,组成如下图


Protocol:这个代表着协议部分,也就是HTTP://,协议就是访问规则,数据传输打包解码的规则,常见的还有https、ftp、thunder这样的,有些网站是可以封某些协议的,也就是如果是一个thunder协议你用HTTP协议你是打不开的,还可以自定义协议

Hostname:是主机名的意思,在图中也就是  www.taobao.com  ,也就代表一台主机,域名是分一级域名和二级域名的,像这个中,taobao.com  代表一级域名,  www.taobao.com 或者  new.taobao.com 这样的叫做二级域名

Path:路径,其实就是具体访问的页面位于服务器主机的哪个位置下,我们去到相应的位置方位

Parameters:参数,这里其实是一个  key=value  的结构,这时URL带到服务器上的一些本地信息,服务器会根据这些信息决定是否解析或者提供不一样的数据

Port:端口,这个比较常见比如以前我们用的http://a.aaa.com:8080,这里的8080就是端口号,就像门牌号一样,我们的信息必须通过这个门进来,才可以,http常用80,https为443,端口号可以有65536个,当有些URL没有写端口号的时候,一般也就再用80进行传输。



网络地址转换NAT

每个上网的电脑肯定都会分配到一个IP地址,IP就分为公网和内网了,内网又叫做私有地址,这个的网段是被定好了的

10.0.0.0---10.255.255.255      192.168.0.0-----192.168.255.255       172.16.0.0------172.31.255.255

所以内网无非就在这三个网段里面,但是当我们要访问公网的时候,这些IP肯定就是不能用了,这时就用到的是NAT技术

NAT技术有三种

静态转换:内网地址与外网地址一一对应关系,如果需要让内网的一台主机作为外网服务器,就要这么做

动态转换:就是对应关系不固定的转换,电信等网络运营商就是这样让我们验证上公网的

端口多路复用:让一个外网IP被多个内网IP用,主要是利用端口映射来实现的,具体的流程逻辑如下图











0 0
原创粉丝点击