一、什么是 header
header:标头 (header) 是服务器以 HTTP 协定传 HTML 材料到浏览器前所送出的字串,在标头与 HTML 文件之间尚需空一行分隔。
—– 百度百科
header 是发送申请时携带的头部信息。通常一些鉴权的信息:authentication/cookie、响应的数据格式:content-type 等等的设置。当然响应的数据也会返回一些头部信息。
二、header 头部参数对应含意
1、Request header:
User-Agent:通知 Http 服务器,客户端应用的操作系统和浏览器名称和版本(这也是辨别 pc 端或者 app 端的形式)
app 端也可辨别 Android 和 iOS 如图:
2、Clint 头域:
Accept:浏览器端能够承受的媒体类型 (MIME);
Accept-Charset:浏览器可承受的字符集;
Accept-Encoding:浏览器申明本人承受的编码方法,压缩形式,是否反对压缩,反对什么压缩办法
Accept-Language:申明本人承受的语言
clint 头域的作用,客户端和服务器端要进行通信,那么客户端就得向服务器申明本人交换的形式(User-Agent)、交换的语言(Accept-Language)、交换的字体(accept-Encoding),曾经客户端承受的内容(accept)等
3、Cache 头域:
If-Modified-Since:把浏览器端缓存页面的最初批改工夫发送到服务器上,服务器会把这个工夫与工夫文件的批改工夫进行比对,工夫始终返回 304 应用本地缓存数据,工夫不统一返回 200 和新的文件内容,客户端接到之后会抛弃旧文件再把新文件缓存起来并显示在浏览器中。
If-None-Match:和 ETag 一起工作,工作原理是 HTTP Response 中增加 ETag 信息,当用户再次申请该资源时,将在 HTTP Request 中退出 If-None-Match 信息(ETag 的值)。如果服务器验证资源的 ETag 没有扭转(该资源没有更新),奖返回一个 304 状态通知客户端应用本地魂村文件。否则将返回 200 状态和新的资源和 Etage,应用这样的机制将进步网站的新性能。
Pragma:作用是避免页面被缓存,在 HTTP/1.1 版本中,它和 Cache-Control:no-cache 作用截然不同
Cache-Control:用来指定 Response-Request 遵循的缓存机制,如下:
Cache-Control:Public 能够被任何缓存所缓存()
Cache-Control:Private 内容只缓存到公有缓存中
Cache-Control:no-cache 所有内容都不会被缓存
4、Cookie/Login 头域
Cookie:最重要的 header,奖 cookie 的值发送给 HTTP 服务器
5、Transport 头域
Connection:连贯的状态,keep-alive 当关上一个网页后,客户端和服务器之前传输 Http 数据到 TCP 连贯诶不会敞开,如果客户端再次拜访这个服务器的网页,会持续应用这条曾经建设的连贯;close 当关上一个申请实现后,客户端和服务器之前用于传输 HTTP 数据的 TCP 连贯会敞开,当客户端再次发送申请,须要从新建设 TCP 连贯
Host(发送申请时,该报头域是必须的):申请报头域而次要用于指定被申请资源的 Internet 主机和端口号,他通常从 HTTP URL 中提取进去的,host 中端口号省却却示意默认端口后 80
6、Entity 头域
Content-Length:发送给 HTTp 服务器数据的长度
Content-Type:互联网媒体类型
7、Miscellaneous 头域
Referer:提供 Request 的上下文信息的服务器,通知服务器我是从哪个连贯过去的。
8、Ajax 申请形式
服务器判断 request 申请是同步还是异步,如果 header 中有 X -Requested-With:XMLHttpRequest 示意为异步申请,当 X -Requested-With:null 是为同步申请
三、接口测试工具
接口测试和接口文档生成工具:apipost
接口测试和接口性能测试工具:jmeter