Linux 复习五

问:什么是http协议?

答:http是应用层的一种超文本协议,属于tcp/ip 协议族,目前使用版本为http 1.1  是一种简单的请求处理通信,之前一般都是一次短连接,随着http的发展,如果一次请求需要打开HTML页面的其他业务,多次的TCP连接就会造成无谓的开销,也有了长连接,不会断开tcp连接,提高了效率,这样持久性的连接,是一种线管化的管理,一次请求无需立即响应,就可以发出其他请求,http本来是一种无状态的管理,后来引入cookie技术,可以实现请求状态的管理。

 

问:http和https的区别?

答:http协议有它自己的缺点:

  1. 通信使用明文,不安全
  2. 不验证通信方的身份,可能受到攻击
  3. 无法证明报文的完整性,可能已经被更改

而https协议是在TCP 和应用层之间增加了SSL协议,而SSL协议分为SSL记录协议为高层数据提供了压缩加密的机制和SSL握手协议在实际数据开始传输之前,对通信双方进行身份认证,协商密钥

因此http和https的区别为:

  • https需要查看服务器证书,
  • https是明文传输,而https是通过SSL加密传输
  • http和https使用的端口不一样,前者是80 厚着是443
  • http连接是一般是无状态的,而https进行了身份验证,比http更安全

问:什么是DNS协议?

答:DNS是域名解析协议,是一个应用层的协议,建立在UDP协议下,是一个分布式的数据库服务,端口号53,通过域名解析出IP

问:http的请求方法有哪些?

答:

  1. GET:获取资源
  2. POST:传输实体主体
  3. PUT:传输文件
  4. HEAD:获取头部信息
  5. DELETE:删除文件
  6. OPTIONS:询问支持的方法
  7. TRACE:追踪路径
  8. CONNECT:要求用隧道协议连接代理
  9. LINK:建立和资源之间的联系
  10. UNLINE:断开连接关系

问:http应答码?

2XX  表示OK    3XX :表示重定向  4XX  客户端错误   5XX 服务器错误

问:输入www.baidu.com经历了什么?

答:

  1. 查看浏览器缓存,是否有DNS信息
  2. 查看系统缓存,是否有该网站的DNS信息
  3. 查看路由缓存,是否有该网站信息
  4. 浏览器向DNS服务器发送请求,将域名转换成IP
  5. 浏览器和百度服务器3次握手,建立TCP连接
  6. GET方法发送http请求报文
  7. 服务器回复http请求报文
  8. 根据报文内容将HTML页面显示
  9. 发送报文结束,4次挥手断开

UDP编程:

UDP特点:无连接,不可靠的数据报服务。

编程流程:server:socket()---bind()---recvfrom()---sendto()----close()

               client:  socket()---sendto()---recvform()----close()

UDP 支持广播或者多波  不需要链接,所以速度快,可以设置超时,防止无效的等待

 

问:流式服务和数据报的区别?

答:TCP是面向字节流的,因此数据没有边界,按照字节读取,并且都会有应答确认,而UDP是面向数据报的,数据有边界格式,客户端发多少次,服务端接收多少次,如果出现接收不及时,则丢弃数据

问:如何让UDP变成安全可靠的服务?

答:我们需要在UDP协议上增加一些其他协议,保证数据的有效性,顺序性,和数据的完整性,如RUDP,增加了,拥塞控制和重发机制,RTP协议,UDT协议。

 

posted @ 2020-02-29 10:52  睡觉lc  阅读(126)  评论(0)    收藏  举报