1、引言
1)、为什么要懂计算机网络
遇到爬虫问题,更容易分析并解决。
比如:更容易理解模拟登陆、反爬、非浏览器客户端数据爬取等
2)、对于爬虫,计算机网络中主要学习的是:网络协议
了解数据交互、传输的原理
3)、推荐书籍:
a)计算机网络(自顶向下方法)
b)TCP/IP协议族
2、一个完整的网络请求过程
输入网址-->浏览器通过域名(网址)查询DNS服务器-->通过DNS返回IP地址(IP地址和DNS服务器是有绑定关系的)-->浏览器通过IP地址,与web服务器建立TCP连接-->浏览器向web服务器发起http请求-->web服务器将生成的html返回给浏览器-->浏览器解析html,展示网页数据
3、IP地址和url
1)、整个网络传输相当于快递,ip地址相当于门牌号
2)、动态ip和静态ip:
一般网络中,ip地址会随着路由器的重启变化,所以在自己家里面布置服务器一般不太现实。
静态ip是不会变的,可以用来布置服务器,但是需要购买。
所以,一般情况下,服务器是不会随便封ip的。
3)、url
url格式:http://www.example.com:80/path/to/myfile.html?key1=v1&key2=v2#maodian
协议:常用协议:http、https、file、ftp
域名:可以看做是ip地址的别名,可以用ip地址来替换域名进行访问。
端口:指明服务器上的应用程序,默认是80(80可以省略)
路径:指定html
?,参数:通过参数指定页面数据的显示方式,或过滤信息
#,锚点:在当前页面跳转到当前页面指定位置。
相对url:在html中会遇到直接以‘/path...’的路径,其实是省略了域名的。
4、七层网络协议
七层是标准的网络协议,一般情况下,只会用到5层
各网络层的网络协议:
各网络层对应的软硬件:
协议在客户端和服务器端的传输顺序相反:
5、TCP/IP协议
IP协议:负责给源ip地址 和 目标ip地址贴上标签,负责传送道路
TCP协议:负责把数据拆分成多个数据片段(每个片段具有对应的ip地址)