生产环境下,经常会有需要调用第三方的接口。如果没有很好地监控系统(SA负责网络层的监控、研发人员负责自己的业务层的监控实现),则出问题时候大大增加了排查难度,影响到服务的SLA。
第一、HTTP请求的过程介绍
1、DNS解析域名
2、请求从Clinet路由至Server,Clinet与Server建立TCP连接
3、如果使用了HTTPS,还涉及SSL连接的建立
4、server开始准备数据 (开始逻辑计算、调后端接口、查数据库缓存等)
5、server开始传递数据 (数据准备完成,开始给client传数据)
6、数据传输完毕
7、整个过程可能还涉及多次重定向
第二、关于CURL的介绍
CURL是利用URL语法在命令行方式下工作的开源数据传输工具。
支持:DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, Telnet and TFTP. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, HTTP/2, cookies, user+password authentication (Basic, Plain, Digest, CRAM-MD5, NTLM, Negotiate and Kerberos), file transfer resume, proxy tunneling 等
最新版的curl稳定版为7.55.1(截止20170817)
源代码:https://github.com/curl/