C++面试总结之网络(一)

1.HTTP协议

HTTP:超文本传输协议,基于TCP/IP

主要特点:

(1)简单快速:客户向服务器请求服务时,只需要传递请求方法和路径

(2)灵活:允许传输任意类型的数据对象

(3)无连接:每次连接只处理一个请求,服务器处理完客户端请求并收到客户端应答后立即断开

(4)无状态协议:协议对事物处理没有记忆能力

(5)支持B/S和C/S模式

HTTP1.0的请求方法:GET   POST   HEAD

HTTP1.1的请求方法:OPTIONS  PUT  DELETE  TRACE  CONNECT

2.在浏览器地址栏输入URL按下回车后的过程

(1)浏览器向DNS服务器请求解析该URL对应的IP地址

(2)根据该IP地址和端口号,和服务器建立TCP协议

(3)浏览器发出读取文件的http请求,该请求报文作为TCP三次握手的第三个报文数据发送给服务器

(1) 服务器做出相应,并将对应的HTML文本发送给浏览器

(2) 释放TCP连接

(3) 浏览器显示该内容

3.http和https的区别

HTTPS:是以安全为目标的HTTP通道,即HTTP下加入SSL层,HTTPS的安全基础是SSL。

HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

SSL原理:http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html

SSL/TLS协议的基本思路是采用公钥加密法,也就是说,客户端先向服务器端索要公钥,然后用公钥加密信息,服务器收到密文后,用自己的私钥解密。

HTTPS和HTTP的区别主要如下:

1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

4. TCP长连接的保持消耗流量不,有什么优劣势

(1)长/短连接操作过程

短连接的操作步骤是:

建立连接——数据传输——关闭连接...建立连接——数据传输——关闭连接

长连接的操作步骤是:

建立连接——数据传输...(保持连接)...数据传输——关闭连接

(2)TCP保活功能

保活功能主要为服务器应用提供,服务器应用希望知道客户主机是否崩溃,从而可以代表客户使用资源。如果客户已经消失,使得服务器上保留一个半开放的连接,而服务器又在等待来自客户端的数据,则服务器将应远等待客户端的数据,保活功能就是试图在服务器端检测到这种半开放的连接

如果一个给定的连接在2小时内没有任何的动作,则服务器就向客户发一个探测报文段,客户主机必须处于以下4个状态之一:

客户主机依然正常运行,并从服务器可达。客户的TCP响应正常,而服务器也知道对方是正常的,服务器在两小时后将保活定时器复位。

客户主机已经崩溃,并且关闭或者正在重新启动。在任何一种情况下,客户的TCP都没有响应。服务端将不能收到对探测的响应,并在75秒后超时。服务器总共发送10个这样的探测 ,每个间隔75秒。如果服务器没有收到一个响应,它就认为客户主机已经关闭并终止连接。

客户主机崩溃并已经重新启动。服务器将收到一个对其保活探测的响应,这个响应是一个复位,使得服务器终止这个连接。

客户机正常运行

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值