新闻  |   论坛  |   博客  |   在线研讨会
正确认识HTTP协议过程
laical | 2020-07-13 17:18:50    阅读:111   发布文章

现如今可以说,每一个领域都多多少少会跟互联网有联系。这是一个网络互联的时代。实际上,大伙儿对于互联网的依赖与使用都会比以前要多。

不论是隐藏自己的IP或是访问受到限制的网站,都难以避免地与IP代理取得联系。这是因为倘若要实现这些功能,您只有通过IP代理工具来实现它,可是倘若想获取IP代理的功能服务,那么咱们最先应该对IP代理有一定的了解。

代理服务器将请求转发到目标服务器,代理服务器将对请求的数据包展开加密和压缩,以确保咱们的信息安全。

伴随着动态IP代理的普及,我们可以充分利用爬虫技术,大批量采集数据信息。做过爬虫工作的人都知道,在抓取数据信息时,抓取工具确实需要大批量的动态IP资源,很有可能需要每天使用数百万的IP。

所以,代理服务商的IP质量与数量就非常关键了,倘若代理服务商没有很好的技术条件,那么很有可能提供的IP资源都是重复的,非常影响使用。

HTTP协议过程

当我们在浏览器中输入URL后,会发生什么?比如https://www.baidu.com

我们可以用curl -v https://www.baidu.com 来研究这个过程,会发现总共有4个子过程。

1、查找域名对应的IP地址


  • Rebuilt URL to: https://www.baidu.com/*   Trying 14.215.177.38...
    我们可以通过nslookup www.baidu.com模拟这个过程,dns服务器返回两个IP地址,curl会随机选用其中一个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=/

<

服务器一般会使用cookie来标识用户,如果接受并带上该cookie继续访问,服务器会认为你是一个已标识的正常用户。因此,大部分网站需要使用cookie的来爬取内容。

1587529193586-ce4ef74d-ae12-4abb-b564-35cf0722a277.png1587529205064-be4d5757-7f18-4176-bb0b-d9c79020e6c1.png1587529596646-1396d16e-e306-412e-af92-c61b29174e01.png

爬虫工作者在爬虫的时候,时常能遇见IP访问频率高的情况。这类情况便是反映访问的网站有反爬虫机制,设置了IP的阈值,超出这个阈值,便会被拒绝访问了。处理这类情况非常简单,只要使用亿牛云HTTP代理IP就可以了,防止IP被封锁。



*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客