软件测试基础知识(网络协议)
1.除了http协议接口还知道哪些?
绝大部分的接口都是基于http协议,除此之外还有一些常见的比如webservice接口基于soap协议等等,ICE协议,dubbo协议。
2.http跟https区别
- https比http更加安全,传输数据进行加密传输。
- http的端口号为80,https的端口号为443.
- http无需证书,https需要CA机构颁发的SSL证书。
- http工作于应用层,https工作于传输层。
3.cookie,session,token机制
因为http协议是无连接,无状态的。简单来说就是为了节省服务器资源,客户端和服务端无法保持长时间连接,所以服务端无法记住该用户的状态。所以引入了鉴权机制。
用户在第一次登陆时,服务器会生成cookies给客户端,第二次登录时客户端会带着之前的cookies来访问,这样服务端就可以判断是哪一个用户。
session是保存在服务端的,当用户登录时会生成session id保存在数据库,下次用户登录就可以识别该session进行判断是哪个用户。
token是另一种鉴权机制,就是身份证,跟cookies类似是由服务端生成token给到客户端,下次登陆时或者调其他接口带上该token就可以判断出是哪一个用户。
实际工作用法场景:
登陆时接口会生成一个cookie或者token,加购下单时把这个值传入请求头就可以访问成功。
4.接口请求的几种方式?
基于http协议的接口请求有八种方式分别为
GET,POST,PUT,head,DELETE,options,trace,connect。
5.get跟post请求有什么区别
- get方式主要是将参数拼接到url上进行请求。post是将数据放到body里面进行请求。
- 因为请求方式的不同所以post比get更加安全,然而并不是,post请求只需要抓包一样可以看到参数,真正安全的话是需要进行加密请求。
- get方式提交的数据有1024字节限制,post无限制。
- get主要是从服务器上获取数据,post用户提交数据,一般根据业务进行定义。
6.常见返回状态码
状态码主要是服务器返回的状态,根据状态码的不同就可以大概猜到是什么错误,主要有以下这些:
200代表成功
404代表url请求错误
401代表权限认证比如token问题
500代表服务器错误
3百多代表重定向
1XX:提示信息,表示请求已经接收,继续处理。
2XX:成功,表示请求已经被成功接收,理解,接受。
3XX:重定向,要完成请求必须进行更进一步的操作。
4XX:找不到资源,一般是url错误,或者接口未发布等。
5XX:服务器错误,因为代码逻辑或者服务器资源导致的错误。