Http和Https的区别
HTTPS(secure)安全的HTTP协议。
Http协议运行在TCP之上,明文传输,客户端与服务器端都无法验证对方的身份;Https是身披SSL(Secure Socket Layer)外壳的Http,运行于SSL上,SSL运行于TCP之上,是添加了加密和认证机制的HTTP。二者之间存在如下不同:
- 端口不同:Http与Http使用不同的连接方式,用的端口也不一样,前者是80,后者是443;
- 资源消耗:和HTTP通信相比,Https通信会由于加减密处理消耗更多的CPU和内存资源;
- 开销:Https通信需要证书,而证书一般需要向认证机构购买;
- Https的加密机制是一种共享密钥加密和公开密钥加密并用的混合加密机制。
在浏览器输入一个URL按下回车后,其流程是?
进行寻址:若浏览器缓存中有URL对应的IP,则直接查询IP;否则访问DNS进行寻址
DNS或者URL Cache返回网页服务器的IP地址
浏览器与网页服务器进行三次握手建立TCP连接
浏览器与服务器建立HTTP会话,接收来自服务器的HTTP数据。
浏览器解析HTTP数据,在本地窗口渲染并显示网页。
当浏览器页面被关闭时,终止HTTP会话并关闭连接。
HTTP方法:
GET 从服务器获取文档
HEAD 从服务器获取文档首部
POST 向服务器发送需要处理的数据
PUT 请求的主体存储在服务器上
TRACE 对报文进行追踪
OPTIONS 决定可以在服务器上执行哪些方法
DELETE 从服务器删除文档
状态码
整体范围 定义范围 分类
100-199 100-101 信息提示
200-299 200-206 成功
300-399 300-305 重定向
400-499 400-415 客户端错误
500-599 500-505 服务器错误
OSI七层模型:
TCP/IP四层模型:
IP协议使得复杂的实际网络变为一个虚拟互联的网络;并且解决了在虚拟网络中数据报传输路径的问题。
TCP与UDP的区别:
TCP和UDP协议属于传输层协议,它们之间的区别包括:
- TCP是面向连接的,UDP是无连接的;
- TCP是可靠的,UDP是不可靠的;
- TCP只支持点对点通信,UDP支持一对一、一对多、多对一、多对多的通信模式;
- TCP是面向字节流的,UDP是面向报文的;
- TCP有拥塞控制机制;UDP没有拥塞控制,适合媒体通信;
- TCP首部开销(20个字节)比UDP的首部开销(8个字节)要大;
三次握手与四次挥手
三次握手(我要和你建立链接,你真的要和我建立链接么,我真的要和你建立链接,成功):
四次挥手(我要和你断开链接;好的,断吧。我也要和你断开链接;好的,断吧):
为什么TCP链接需要三次握手,两次不可以么,为什么?
为了防止已失效的链接请求报文突然又传送到了服务端,因而产生错误。
为什么需要四次挥手?
tcp是全双工模式,接收到FIN时意味着没有数据再发来, 但是还可以继续发送数据。
DNS:就相当把你的名字解析成学号
TCP/IP网络中要求每一个互连的计算机都具有其唯一的IP地址,并基于这个IP地址进行通信。由于IP地址是有一串数字组成不好记,因此为每一台计算机赋唯一的主机名,用户可以用要通讯计算机或服务器的主机名而无需直接用IP地址进行通信。但在网络层必须使用IP地址进行,因此域名系统DNS(Domain Name System)是因特网使用的命名系统,用于把便于人们使用的主机名字(如baidu.com)转换为ip地址。
ARP地址解析协议(Address Resolution Protocol)
其基本功能为透过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。它是IPv4中网络层必不可少的协议,不过在IPv6中已不再适用,并被邻居发现协议(NDP)所替代。其作用是在以太网环境中,数据的传输所依懒的是MAC地址而非IP地址,而将已知IP地址转换为MAC地址的工作是由ARP协议来完成的。