# 网络请求过程: # 1、dns服务器:将客户机的请求域名解析为对应域名的ip # 2、通知ip对web服务器亲求页面 # 3、服务器返回响应:HTML(架构) JS(渲染--互动) CSS(渲染) MEDIA(媒体文件) 等 # ping 域名可以得到ip地址 # 在浏览器地址栏里填ip地址也可以直接访问对应web服务器 # http协议和https协议 # 网络协议定义:由计算机网络中定义的进行数据交互、传输的规则标准等 # 三要素:语义、语法、时序 # 语义:解释控制信息的每个部分含义。规定了需要发出何种的控制信息。 # 语法:用户数据以及控制信息的结构、格式以及出现的顺序 # 时序:对所发生的事件的顺序进行详细说明 # http协议(超文本传输协议)(应用层): # 请求/响应的步骤: # 1、由客户端发起连接: # 客户端与服务器进行交互,(默认端口为80,建立的连接是基于TCP套接字的链接 # 2、发起http请求: # 通过TCP套接字进行,发送一个报文信息(包含请求行、请求头、空行、请求数据等内容) # 3、服务器接收到请求并非返回http相应: # 服务器解析请求,如果验证通过,去查找需要返回的资源,找到后封装为一个响应头(包含状态、头部、 # 空行,响应数据等) # 4、释放(TCP)连接: # connection close,连接的释放是双向的,即可以有客户端主动关闭也可以由服务端 # 5、浏览器进行解析HTML内容 # 根据js,css等对HTML页面进行渲染 # https协议(超文本安全传输协议): # 通信上的加密: # 仅仅比http协议多了一个安全套阶层 # 即ssl以及tls # 提供了安全的通信线路 # 内容上的加密: # 通过各种的加密算法对明文内容进行加密(保护数据的安全,同时增加爬虫获取数据的难度) # 常见加密方式:md5、AES、RSA、base64编码等 # tip:加密位置可以在很多位置(主要分为通信加密和内容加密) 没有绝对安全的加密方式哪怕是不可逆的加密算法,例如哈希加密 # ip: # 查询ip: # windows:cmd --> ipconfig # linux:ifconfig或ip addr # port: # 一种接口,数据通过它在计算机和其他设备(如打印机、鼠标键盘或监控)之间、网络之间 # 或和其他直接连接的计算机之间传递。不同程序有不同的端口(max66535) # network介绍(重点): # 打开浏览器开发者工具--F12 # 1、elements--标签(即html的代码(骨架)) # 2、console当前页面的控制台,一般用于调试代码时使用(前端调试) # 3、sources当前页面所有的资源可进行断点调试 # 4、network--网络数据包管理工具(抓包工具) # Fetch/XHR--动态加载的数据包 # css--偏移反爬会用到 # media--媒体文件 # font--字体 # Doc(document)--抓到的一些html文件也可能一些word文档等嵌套文件 # Ws(Websockets)套接字所抓到的数据包,处理地图数据的时候会经常用到 # header--请求头 # User-Agent--用户代理 # content-type--响应类型 # payload包含传输数据的参数和表单类型(Form Data)的数据(均以键值对类型进行传输) # preview--对当前数据文件的预览 # response--响应数据 # initiator--可能加载js的栈点,经常在js逆向用到 # Timing # cookie(headers里面也有)