目录

TCP/IP协议

1.概念

2.TCP/IP层次结构与OSI层次结构的对照关系图

3.TCP简介

4.TCP标志位(Flags)

5.TCP三次握手建立连接

6.TCP四次挥手关闭连接

7.三次握手过程中可以携带数据吗

8.三次握手的作用

9.为什么建立连接是三次握手,关闭连接却是四次挥手

10.为什么需要三次握手

11.为什么需要四次挥手

12.(ISN)是固定的吗

13.什么是半连接队列

14.为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOSE状态

15.为什么不能用两次握手进行连接

16.如果已经建立了连接,但是客户端突然出现故障了怎么办

17.首次握手的隐患------SYN超时问题

18.拓展进阶

HTTP协议

1.概述

2.协议简介

3.浏览器输入url按回车后执行了哪些操作

4.常用的HTTP请求方法有哪些

5.GET和POST的区别

6.常见的HTTP相应状态码

7.HTTP无状态协议

8.实际中的使用情况

9.哪些方法可以实现有状态连接

10.cookies机制和session机制的区别

11.http和https区别

12.HTTP请求报文与响应报文格式

13.常见的 POST 提交数据方式

14.什么是DNS

15.请描述网络传输的过程

16.Http与Https优缺点

17.Http优化

18.Http协议有那些特征

19.Http协议中Http1.0与1.1区别

B/S和C/S


前言:

在学习web测试前,我们需要对计算机网络的一些概念有一定的了解,以面试问题的形式来详细了解

TCP/IP协议

1.概念

TCP/IP协议,严格来说是一个协议族,里面包括很多协议(Telnet、HTTP、SMTP、TCP、UDP、IP、ARP等),由于TCP协议和IP是结构中最核心的协议,所以统称为TCP/IP协议。

2.TCP/IP层次结构与OSI层次结构的对照关系图

OSI七层网络模型 TCP/IP概念层模型 功能 TCP/IP协议族
应用层 应用层 文件传输、电子邮件、文件服务、虚拟终端 HTTP、TFTP、SNMP、FTP(文件传输协议)、SMTP、DNS(域名系统)、Telnet
表示层 数据格式化、代码转换、数据加密  
会话层 解除或建立与别的接点的联系  
传输层 传输层 提供端对端的接口 TCP(传输控制协议)、UDP(用户数据包协议)
网络层 网络层 为数据包选择路由 IP、ICMP、RIP、OSPF
数据链路层 链路层 传输有地址的帧以及错误检测功能 SLIP、PPP、ARP、CSLIP
物理层 以二进制数据形式在物理媒体上传输数据 ISO2110、IEEE802、IEEE802.2
       

3.TCP简介

  1、面向连接的、可靠的、基于字节流的传输层的通信协议;

  2、将应用层的数据流分割成报文段并发送给目标节点的TCP层;

  3、数据包都有序号,对方收到则发送ACK确认,未收到则重传;

  4、使用校验和来检验数据在传输过程中是否有误;

4.TCP标志位(Flags)

  1、URG:紧急指针标志;

  2、ACK:确认序号标志;

  3、PSH:push标志;

  4、RST:重置连接标志;

  5、SYN:同步序号,用于建立连接过程;

  6、FIN:finish标志,用于释放连接

5.TCP三次握手建立连接

   刚开始客户端处于 closed 的状态,服务端处于 listen 状态:

1、第一次握手:客户端给服务端发一个 SYN 报文,并指明客户端的初始化序列号 ISN(c)。此时客户端处于 SYN_Send 状态。

2、第二次握手:服务器收到客户端的 SYN 报文之后,会以自己的 SYN 报文作为应答,并且也是指定了自己的初始化序列号 ISN(s),同时会把客户端的 ISN + 1 作为 ACK 的值,表示自己已经收到了客户端的 SYN,此时服务器处于 SYN_REVD 的状态。

3、第三次握手:客户端收到 SYN 报文之后,会发送一个 ACK 报文,当然,也是一样把服务器的 ISN + 1 作为 ACK 的值,表示已经收到了服务端的 SYN 报文,此时客户端处于 establised 状态。

4、服务器收到 ACK 报文之后,也处于 establised 状态,此时,双方以建立起了链接。

6.TCP四次挥手关闭连接

刚开始双方都处于 establised 状态,假如是客户端先发起关闭请求:

   1、第一次挥手:客户端发送一个 FIN 报文,报文中会指定一个序列号。此时客户端处于FIN_WAIT1状态

2、第二次挥手:服务端收到 FIN 之后,会发送 ACK 报文,且把客户端的序列号值 + 1 作为 ACK 报文的序列号值,表明已经收到客户端的报文了,此时服务端处于 CLOSE_WAIT状态【服务端可能还有一些数据没有传送完,不能立马关闭】

3、第三次挥手:如果服务端也想断开连接了,和客户端的第一次挥手一样,发给 FIN 报文,且指定一个序列号。此时服务端处于 LAST_ACK 的状态

4、第四次挥手:客户端收到 FIN 之后,一样发送一个 ACK 报文作为应答,且把服务端的序列号值 + 1 作为自己 ACK 报文的序列号值,此时客户端处于 TIME_WAIT 状态。需要过一阵子以确保服务端收到自己的 ACK 报文之后才会进入 CLOSED 状态

5、服务端收到 ACK 报文之后,就处于关闭连接了,处于 CLOSED 状态

7.三次握手过程中可以携带数据吗

第一次、第二次握手不可以携带数据,而第三次握手是可以携带数据的。

为什么这样呢?假如第一次握手可以携带数据的话,如果有人要恶意攻击服务器,那他每次都在第一次握手中的 SYN 报文中放入大量的数据,因为攻击者根本就不理服务器的接收、发送能力是否正常,然后疯狂着重复发 SYN 报文的话,这会让服务器花费很多时间、内存空间来接收这些报文。也就是说,第一次握手可以放数据的话,其中一个简单的原因就是会让服务器更加容易受到攻击了。
        而对于第三次的话,此时客户端已经处于 established 状态,也就是说,对于客户端来说,他已经建立起连接了,并且也已经知道服务器的接收、发送能力是正常的了,所以能携带数据。

8.三次握手的作用

1、确认双方的接受能力、发送能力是否正常。

2、指定自己的初始化序列号,为后面的可靠传送做准备。

3、如果是 https 协议的话,三次握手这个过程,还会进行数字证书的验证以及加密密钥的生成到。

9.为什么建立连接是三次握手,关闭连接却是四次挥手

因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,"你发的FIN报文我收到了"。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。

10.为什么需要三次握手

目的:为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。主要防止资源的浪费。

11.为什么需要四次挥手

为了保证在最后断开的时候,客户端能够发送最后一个ACK报文段能够被服务器接收到。如果客户端在收到服务器给它的断开连接的请求之后,回应完服务器就直接断开连接的话,若服务器没有收到回应就无法进入CLOSE状态,所以客户端要等待两个最长报文段寿命的时间,以便于服务器没有收到请求之后重新发送请求。

  防止“已失效的连接请求报文”出现在连接中,在释放连接的过程中会有一些无效的滞留报文,这些报文在经过2MSL的时间内就可以发送到目的地,不会滞留在网络中。这样就可以避免在下一个连接中出现上一个连接的滞留报文了。

12.(ISN)是固定的吗

三次握手的一个重要功能是客户端和服务端交换ISN(Initial Sequence Number), 以便让对方知道接下来接收数据的时候如何按序列号组装数据。

如果ISN是固定的,攻击者很容易猜出后续的确认号,因此 ISN 是动态生成的。

13.什么是半连接队列

服务器第一次收到客户端的 SYN 之后,就会处于 SYN_RCVD 状态,此时双方还没有完全建立其连接,服务器会把此种状态下请求连接放在一个队列里,我们把这种队列称之为半连接队列。当然还有一个全连接队列,就是已经完成三次握手,建立起连接的就会放在全连接队列中。如果队列满了就有可能会出现丢包现象。

14.为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOSE状态

虽然按道理,四个报文都发送完毕,我们可以直接进入CLOSE状态了,但是我们必须假象网络是不可靠的,有可以最后一个ACK丢失。所以TIME_WAIT状态就是用来重发可能丢失的ACK报文。在Client发送出最后的ACK回复,但该ACK可能丢失。Server如果没有收到ACK,将不断重复发送FIN片段。所以Client不能立即关闭,它必须确认Server接收到了该ACK。Client会在发送出ACK之后进入到TIME_WAIT状态。Client会设置一个计时器,等待2MSL的时间。如果在该时间内再次收到FIN,那么Client会重发ACK并再次等待2MSL。所谓的2MSL是两倍的MSL(Maximum Segment Lifetime)。MSL指一个片段在网络中最大的存活时间,2MSL就是一个发送和一个回复所需的最大时间。如果直到2MSL,Client都没有再次收到FIN,那么Client推断ACK已经被成功接收,则结束TCP连接。

15.为什么不能用两次握手进行连接

3次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都知道彼此已准备好),也要允许双方就初始序列号进行协商,这个序列号在握手过程中被发送和确认。

现在把三次握手改成仅需要两次握手,死锁是可能发生的。作为例子,考虑计算机S和C之间的通信,假定C给S发送一个连接请求分组,S收到了这个分组,并发 送了确认应答分组。按照两次握手的协定,S认为连接已经成功地建立了,可以开始发送数据分组。可是,C在S的应答分组在传输中被丢失的情况下,将不知道S 是否已准备好,不知道S建立什么样的序列号,C甚至怀疑S是否收到自己的连接请求分组。在这种情况下,C认为连接还未建立成功,将忽略S发来的任何数据分 组,只等待连接确认应答分组。而S在发出的分组超时后,重复发送同样的分组。这样就形成了死锁。

16.如果已经建立了连接,但是客户端突然出现故障了怎么办

TCP还设有一个保活计时器,显然,客户端如果出现故障,服务器不能一直等下去,白白浪费资源。服务器每收到一次客户端的请求后都会重新复位这个计时器,时间通常是设置为2小时,若两小时还没有收到客户端的任何数据,服务器就会发送一个探测报文段,以后每隔75秒钟发送一次。若一连发送10个探测报文仍然没反应,服务器就认为客户端出了故障,接着就关闭连接。

17.首次握手的隐患------SYN超时问题

题起因和分析:

  1、服务器收到客户端的SYN,回复SYN和ACK的时候未收到ACK确认

  2、服务器不断重试直至超时,Linux默认等待63秒才断开连接;(重复5次【不包括第一次】,从1秒开始,每次重试都翻倍:1+2+4+8+16+32=63秒)

针对SYN Flood的防护措施:

  1、SYN队列满后,通过tcp_syncookies参数会发SYN cookie【源端口+目标端口+时间戳组成】;

  2、若为正常连接则Client会回发SYN Cookie,直接建立连接;

建立连接后,Client出现故障怎么办:

保活机制:

  1、向对方发送保活探测报文,如果未收到相应则继续发送;

  2、尝试次数达到保活探测数仍未收到相应则中断连接;

18.拓展进阶

https://blog.csdn.net/csdnnews/article/details/86570658

https://blog.csdn.net/heyi5351230/article/details/106115484

https://blog.csdn.net/weixin_34075268/article/details/87974209?utm_medium=distribute.pc_relevant_right.none-task-blog-OPENSEARCH-4.nonecase&depth_1-utm_source=distribute.pc_relevant_right.none-task-blog-OPENSEARCH-4.nonecase

HTTP协议

1.概述

对器客户端和 服务器端之间数据传输的格式规范,格式简称为“超文本传输协议”

2.协议简介

1、应用层协议, 一般以TCP为基础,数据收发通过TCP实现;

2、一次性连接。服务器与客户端的每次连接只处理一个请求,下次请求重新建立连接;

3、 无状态协议。服务器不保留与客户交易时的状态,减轻记忆负担,较快响应速度;

4、默认端口号80,常用请求方法GET/POST

3.浏览器输入url按回车后执行了哪些操作

1、首先,在浏览器地址栏中输入url,先解析url,检测url地址是否合法
        2、浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。若没有,则跳到第三步操作
        浏览器缓存:浏览器会记录DNS一段时间,因此,只是第一个地方解析DNS请求
        操作系统缓存:如果在浏览器缓存中不包含这个记录,则会使系统调用操作系统,获取操作系统的记录(保存最近的DNS查询缓存)
        路由器缓存:如果上述两个步骤均不能成功获取DNS记录,继续搜索路由器缓存
        ISP缓存:若上述均失败,继续向ISP搜索
        3、在发送http请求前,需要域名解析(DNS解析),解析获取相应的IP地址
        4、浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手
        5、握手成功后,浏览器向服务器发送http请求,请求数据包
        6、服务器处理收到的请求,将数据返回至浏览器
        7、浏览器收到HTTP响应
        8、浏览器解码响应,如果响应可以缓存,则存入缓存。
        9、 浏览器发送请求获取嵌入在HTML中的资源(html,css,javascript,图片,音乐······),对于未知类型,会弹出对话框
       10、 浏览器发送异步请求
       11、页面全部渲染结束。

4.常用的HTTP请求方法有哪些

GET: 用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器
        POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式
        PUT: 传输文件,报文主体中包含文件内容,保存到对应URI位置
        HEAD: 获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效
        DELETE:删除文件,与PUT方法相反,删除对应URI位置的文件
        OPTIONS:查询相应URI支持的HTTP方法

5.GET和POST的区别

标准答案参考自w3schools:

  • GET在浏览器回退时是无害的,而POST会再次提交请求

  • GET产生的URL地址可以被Bookmark,而POST不可以

  • GET请求会被浏览器主动cache,而POST不会,除非手动设置

  • GET请求只能进行url编码,而POST支持多种编码方式

  • GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留

  • GET请求在URL中传送的参数是有长度限制的,而POST没有

  • 对参数的数据类型,GET只接受ASCII字符,而POST没有限制

  • GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息

  • GET参数通过URL传递,POST放在Request body中

(实际上,这两种方法在开发中是没什么区别的,但在面试软件测试的时候面试官问起来,最好还是按照标准答案来回答了,详情可以去知乎搜索“get和post有什么区别”)

6.常见的HTTP相应状态码

返回的状态
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求
200:请求被正常处理
204:请求被受理但没有资源可以返回
206:客户端只是请求资源的一部分,服务器只对请求的部分资源执行GET方法,相应报文中通过Content-Range指定范围的资源。
301:永久性重定向
302:临时重定向
303:与302状态码有相似功能,只是它希望客户端在请求一个URI的时候,能通过GET方法重定向到另一个URI上
304:发送附带条件的请求时,条件不满足时返回,与重定向无关
307:临时重定向,与302类似,只是强制要求使用POST方法
400:请求报文语法有误,服务器无法识别
401:请求需要认证
403:请求的对应资源禁止被访问
404:服务器无法找到对应资源
500:服务器内部错误
503:服务器正忙

7.HTTP无状态协议

所谓的无状态就是每次请求完成后,不会在客户端和服务器上保存任何的信息,对于客户端和服务器来说,根本不知道上一次请求的信息是什么,甚至不知道本次连接的对端是不是上次连接的那一端,它的生命周期随着TCP/IP连接的关闭结束了。

无状态是指协议对于事务处理没有记忆功能。缺少状态意味着,假如后面的处理需要前面的信息,则前面的信息必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要前面信息时,应答就较快。直观地说,就是每个请求都是独立的,与前面的请求和后面的请求都是没有直接联系的。

(1)无状态协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息
        (2)无状态协议解决办法: 通过1、Cookie 2、通过Session会话保存。

8.实际中的使用情况

  在web应用中,我们使用http协议,但是我们需要的web是有状态的,因此加入了cookie、session等机制实现有状态的的web。

  web=http协议+状态机制+其他机制

9.哪些方法可以实现有状态连接

cookies, session, application

有人将web应用中有无状态的情况,比着顾客逛商店的情景。

顾客:浏览器访问方;

商店:web服务器;

一次购买:一次http访问

我们知道,上一次顾客购买,并不代表顾客下一个小时一定会买(当然也不能代表不会)。也就是说同一个顾客的不同购买之间的关系是不定的。所以说实在的,这种情况下,让商店保存所有的顾客购买的信息,等到下一次购买可以知道这个顾客以前购买的内容代价非常大的。所以商店为了避免这个代价,索性就认为每次的购买都是一次独立的新的购买。浅台词:商店不区分对待老顾客和新过客。这就是无状态的。

但是,商店为了提高收益。她是想鼓励顾客购买的。所以告诉你,只要你在一个月内购买了5瓶以上的啤酒,就送你一个酒杯。

我们看看这种情况我们怎么去实现呢?

A,给顾客发放一个磁卡,里面放有顾客过去的购买信息。

这样商店就可以知道了。这就是cookie.

B,给顾客发放一个唯一号码,号码制定的顾客的消费信息,存储在商店的服务器中。这就是session。

最后,商店可以全局的决定,是5瓶为送酒杯还是6瓶。这就是application。

其实,这些机制都是在无状态的传统购买过程中加入了一点东西,使整个过程变得有状态。Web应用就是这样的。

10.cookies机制和session机制的区别

cookies数据保存在客户端,session数据保存在服务器端

cookies可以减轻服务器压力,但是不安全,容易进行cookies欺骗

session较安全,但占用服务器资源

11.http和https区别

HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

HTTPS和HTTP的区别主要如下:

总的来说: HTTPS=SSL+HTTP

  • https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
  • http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
  • http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  • (这个只是默认端口不一样,实际上端口是可以改的)
  • http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

12.HTTP请求报文与响应报文格式

请求报文包含三部分:
a、请求行:包含请求方法、URI、HTTP版本信息
b、请求头部(headers)字段
c、请求内容实体(body)
响应报文包含三部分:
a、状态行:包含HTTP版本、状态码、状态码的原因短语
b、响应头部(headers)字段
c、响应内容(body)实体

13.常见的 POST 提交数据方式

application/x-www-form-urlencoded
        multipart/form-data
        application/json
        text/xml

14.什么是DNS

域名解析服务。将主机名转换为IP地址。如将http://www.cnblogs.com/主机名转换为IP地址:211.137.51.78

15.请描述网络传输的过程

16.Http与Https优缺点

  • 通信使用明文不加密,内容可能被窃听,也就是被抓包分析。
  • 不验证通信方身份,可能遭到伪装
  • 无法验证报文完整性,可能被篡改
  • HTTPS就是HTTP加上加密处理(一般是SSL安全通信线路)+认证+完整性保护

17.Http优化

  • 利用负载均衡优化和加速HTTP应用
  • 利用HTTP Cache来优化网站

18.Http协议有那些特征

支持客户/服务器模式
简单快速
灵活
无连接无状态

19.Http协议中Http1.0与1.1区别

  • 在http1.0中,当建立连接后,客户端发送一个请求,服务器端返回一个信息后就关闭连接,当浏览器下次请求的时候又要建立连接,显然这种不断建立连接的方式,会造成很多问题。
  • 在http1.1中,引入了持续连接的概念,通过这种连接,浏览器可以建立一个连接之后,发送请求并得到返回信息,然后继续发送请求再次等到返回信息,也就是说客户端可以连续发送多个请求,而不用等待每一个响应的到来。

B/S和C/S

  • CS = Client - Server = 客户端 - 服务器

例子: QQ,迅雷,快播,各种网络游戏等等。有和服务器通讯的

信息有着一对一,点对点的转发,单线传输,实时转发的特性的,服务器只做转发功能,大量的工作在客户端,这样的需求一般就是CS架构

  • BS = Browser - Server = 浏览器 - 服务器

例子:所有的网站

支持很多人访问(甚至包括陌生人,游客等),不需要信息的实时性,但需要长期有效性,这样的需求一定是BS架构

【软件测试】Web测试基础(各类协议)面试必背相关推荐

  1. [PHP面试题]跳槽面试必背-自己最近5年的整理(二)

    看完这些还怕进不了大厂? [PHP面试题]跳槽面试必背-自己最近5年的整理(一) [PHP面试题]跳槽面试必背-自己最近5年的整理(三) PHP经典面试题集(含答案) 面试12家公司,收获9个offe ...

  2. [PHP面试题]跳槽面试必背-自己最近5年的整理(三)

    看完这些还怕进不了大厂? [PHP面试题]跳槽面试必背-自己最近5年的整理(一) [PHP面试题]跳槽面试必背-自己最近5年的整理(二) PHP经典面试题集(含答案) 面试12家公司,收获9个offe ...

  3. 「面试必背」Tomcat面试题(收藏)

    「面试必背」Tomcat面试题(建议收藏) 2022-04-27 16:31·java柚子茶 前言 在工作中,作为 Java 开发的程序员,Tomcat 服务器是大家常用的,也是很多公司现在正在用的. ...

  4. python的基础_python基础知识,python必背内容,一、python的基

    python基础知识,python必背内容,一.python的基 一.python的基础 1.简单写一行python代码:print('hello,world')print('你好,北京') 2.变量 ...

  5. python基础知识-python基础知识,python必背内容,一、python的基

    python基础知识,python必背内容,一.python的基 一.python的基础 1.简单写一行python代码:print("hello,world')print("你好 ...

  6. web测试基础知识(一)web基础

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.CS和BS架构特点 二.动态网页和静态网页 浏览器内部结构 浏览器工作原理 DNS解析过程: OSI七层模型 TC ...

  7. Web测试 基础知识框架

    1 软件系统架构的划分和优缺点 C/S(client/server)主要是桌面应用程序 B/S(browser/server) 主要是web应用程序 P2P(peer-to-peer network) ...

  8. python基础单词-学习Python必背的初级单词有哪些?

    今天小编要跟大家分享一些学习Python必须认识的英文单词,同时也是学习编程都必须会的单词,下面来和小编一起学习一下吧! application 应用程式 应用.应用程序 application fr ...

  9. 单片机c语言基础知识,c语言必背100代码有哪些?

    我记得刚开始接触编程的时候,觉得太难了. 也很好奇,写代码的那些人也太厉害了吧?全是英文的,他们的英文水平一定很好吧? 他们是怎么记住这么多代码格式的?而且错了一个标点符号,整个程序都会有影响. 一个 ...

最新文章

  1. python2.0_s12_day10_rabbitMQ使用介绍
  2. 在不同制作基础上该如何选择网页制作软件?
  3. DNS通道检测 国内学术界研究情况——研究方法:基于特征或者流量,使用机器学习决策树分类算法居多...
  4. python grid用法_Python numpy.mgrid函数方法的使用
  5. Mysql的锁机制之表锁
  6. java map初始化方式_java中Map和List初始化的两种方法
  7. 移植madplay到jz2440【学习笔记】
  8. redis集成spring_将Redis集成到您的Spring项目中
  9. python网页爬虫例子_Python网络爬虫 - 一个简单的爬虫例子
  10. mybatis学习笔记-02-第一个mybatis程序
  11. thymealf如何实现传单个变量给html_梦回2013,看尤大vue的第一行代码,如何用30行代码实现vue(超简洁,适合初学者)...
  12. HTML DOM教程 47-JavaScript Date 对象
  13. linux快速cd多层目录,linux 下 cd - cd ~- 和多目录切换技巧(示例代码)
  14. C语言新手写扫雷攻略1
  15. 车辆路径规划问题(VRP问题)
  16. 程序人生|从网瘾少年到微软、BAT、字节offer收割机逆袭之路
  17. ACdream 之ACfun 题解
  18. oracle 行级死锁_Oracle常见死锁发生的原因以及解决方法
  19. Java计算圆、长方形、正方形的面积及周长,并比较打印各个图形的大小
  20. 测试 软通动力软件测试机试_软通动力软件测试笔试题.doc

热门文章

  1. 一文读懂信息量、信息熵、相对熵(KL散度)和交叉熵
  2. JS观察者模式和发布订阅模式的区别
  3. 教你申请Hurricane Electric公司免费dns服务
  4. java 中byte[] 数组的合并
  5. 基于vue+element-ui实现上传进度条
  6. PHP内核-Zend引擎的详解
  7. jquery+select+ajax实现时间可控的自动刷新
  8. 第一节.软件测试概述
  9. 微信小程序/uniapp分享功能-代码封装与使用(分享好友或朋友圈-两种方式)
  10. 微信收费持续发酵 或演变为运营商与腾讯的博弈