Python 爬虫入门基础-HTTP 协议过程

suger77 · 2020年05月06日 · 最后由 yqwoe 回复于 2020年05月06日 · 2745 次阅读

当我们在浏览器中输入 URL 后,会发生什么?比如https://www.baidu.com 我们可以用 curl -v https://www.baidu.com 来研究这个过程,会发现总共有 4 个子过程。 1、查找域名对应的 IP 地址

2、向 IP 对应的服务器发送 SSL 协商请求,进行 SSL 协商

  • Connected to www.baidu.com (14.215.177.38) port 443 (#0) 下图是通过 Wireshark 抓包获取的协商过程。

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>...

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册