DNS:Domain Name System,域名系统。作为域名 和 IP地址 相互映射的分布式数据库。
ARP:Address Resolution Protocal,地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。
MAC地址:Media Access Control Address,直译为媒体访问控制地址,也称为局域网地址,以太网地址,物理地址,是用来确认网上设备位置的地址。
网络请求发出时:应用层——>传输层——>网络层——>链路层——>物理层
收到响应: 物理层——>链路层——>网络层——>传输层——>应用层
简述请求https://www.baidu.com的过程
答:
在浏览器输入https://www.baidu.com,回车后
1、客户端浏览器通过DNS解析到www.baidu.com的IP地址,通过这个IP地址找到客户端-服务器的路径
2、浏览器与服务器通过路径建立TCP连接(默认端口80)
3、浏览器发送http请求
4、服务器响应请求,并发送内容到浏览器
5、浏览器解析数据,并渲染出来展示
6、浏览器关闭TCP
涉及到的协议:
1、应用层:HTTP(www访问协议), DNS(域名解析服务)
2、传输层:TCP(为HTTP提供可靠的数据传输),UDP(DNS使用UDP传输)
3、网络层:IP(IP数据数据包传输 和路由选择), ICMP(提供网络传输过程中的差错检测),ARP(将本机的默认网关IP地址映射成物理MAC地址)
http协议相关
一、什么是http协议?
答:客户端 和 服务器之间的传输数据的格式规范,也叫做“超文本传输协议”。
二、http协议特点
1、支持c/s模式
2、简单快速:客户端向服务器请求服务时,只需传送请求方法 和 路径。由于http协议简单,使得http服务器的规模小,因而通信速度很快。
3、灵活:http允许传输任意类型的数据对象。正在传输的类型由Content-type加以标记。
4、无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户端的请求,并收到客户端的应答后,即断开连接。采用这种方式可以节省传输时间。
5、无状态:无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则必须重传,这样有可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就比较快。
注:
无状态解决办法:1)通过Cookie 2)通过Session会话保存
三、http协议组成
1、请求报文由三部分组成
* 请求行:包含请求方法,URI,HTTP版本
* 请求头
* 请求内容实体
2、响应报文由三部分组成
* 状态行:包含http版本, 状态码, 状态码描述短语
* 响应首部
* 响应内容实体
四、http中的302状态
http协议中,302表示重定向。
这种情况下,服务器返回的头部信息中会包含一个Location字段,内容是重定向到的url。
五、Http1.0 和 1.1区别
答:
1、http1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都要与服务器建立一个tcp连接,服务器完成请求处理后立即断开tcp连接,服务器不跟踪每个客户也不记录过去的请求。
http1.1则支持持久连接,在同一个tcp连接中可以传送多个http请求和响应。
2、http1.1增加了host字段,还有一些cache的新特性
六、get 和 post区别
1、传输数据方式不同:get是通过url拼接参数的形式,post是放在请求体中
2、get传输量小,受url长度限制,post可传输大量数据
3、get明文传输,不安全,post则相对安全。
4、get请求只能进行url编码,而post则支持多种编码方式。
七、https
简单讲,就是http的安全版。HTTP是应用层协议,位于http协议之下的是传输协议TCP。TCP负责传输,HTTP则定义了数据如何进行包装,在HTTP跟TCP之间加了一层加密层TLS/SSL。SSL是个加密套件,负责对http数据进行加密。TLS是SSL的升级版。
传输加密的流程:http是 应用层将数据直接给到tcp进行传输,https则是应用层将数据给到SSL,将数据加密后,再给到tcp进行传输。
HTTPS是如何加密数据的:
一般来说,有对称加密, 非对称加密。
对称加密
就是加密数据用的密钥 跟 解密数据所用的密钥是一样的。优点是效率高。缺点则是数据发送方、接收方需要共享同一个密钥,传输过程容易被截获,不安全。
非对称加密
就是加密数据所用的密钥(公钥), 跟解密数据用的密钥(私钥)是不一样的。
加密算法:
1、对称加密算法
DES、AES
2、非对称加密算法
RSA
采用DES 和 RSA相结合的方式,可以使它们的优缺点正好互补,即DES加密速度快,适合加密较长的报文,可用其加密明文;RSA加密速度慢,安全性好,可对DES的密钥加密,可以解决DES密钥分配的问题。
八、http https的区别
1、https协议需要到ca申请证书,需要一定费用
2、http是超文本传输协议,信息是明文传输;https则是具有安全性的ssl加密传输协议。
3、http 和 https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;https是由SSL+HTTP协议构建的可进行加密传输、身份认证的协议,比http协议安全。
九、https实现原理
1、客户端使用https的url访问web服务器,要求与web服务器建立ssl连接
2、web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给到客户端
3、客户端浏览器与 web服务器开始协商 SSL连接的安全等级,也就是信息加密的等级
4、客户端根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站
5、web服务器利用自己的私钥解密出会话密钥
6、web服务器利用会话密钥 加密与客户端之间的通信。
