当我们在浏览器中输入 URL 后,会发生什么?比如https://www.baidu.com 我们可以用 curl -v https://www.baidu.com 来研究这个过程,会发现总共有 4 个子过程。 1、查找域名对应的 IP 地址
2、向 IP 对应的服务器发送 SSL 协商请求,进行 SSL 协商
3、SSL 协商完成后,向 IP 对应服务器发起 GET 请求
GET / HTTP/1.1 Host: www.baidu.com User-Agent: curl/7.54.0 网站会检查是不是真的浏览器访问。需加上 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.1276.73 Safari/537.36,表明你是浏览器访问即可。有时还会检查是否带Referer信息还会检查你的Referer是否合法。
4、服务器响应请求,发回网页内容 < HTTP/1.1 200 OK < Connection: keep-alive < Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/ < <!DOCTYPE html>...