一、HTTP和HTTPS
HTTP协议(超文本传输协议):是一种发布和接受HTML页面的方法。
HTTPS就是HTTP的安全版,在HTTP下加入SSL层。
SSL(安全套接层)主要用于Web的完全传输协议,在传输层对网络链接进行加密,保障在Internet上数据传输的安全。
HTTP的端口号为80,HTTPS的端口号为443
HTTP工作原理
网络爬虫抓取过程可以理解为 模拟浏览器操作的过程。
浏览器的主要功能是像服务器发出请求,在浏览器窗口中展示您选择的网络资源,HTTP是一套计算机通过网络进行通信的规则。
二、HTTP的请求与响应
HTTP通信由两部分组成:客户端请求消息与服务器响应消息
浏览器发送HTTP请求的过程:
1.当用户在浏览器的地址栏中输入一个URL并按回车键之后,浏览器会向HTTP服务器发送HTTP请求。HTTP请求主要分为“Get”和“Post”两种方法。
2.当我们在浏览器输入URL http://www.baidu.com的时候,浏览器发送一个Request请求去获取http://www.baidu.com的html文件,服务器把Response文件对象发送回给浏览器。
3.浏览器分析Response中的HTML,发现其中引用了很多其他文件,比如Images文件,CSS文件,JS文件。浏览器回自动再次发送Request去获取图片,CSS文件,或者JS文件。
4.当所有的文件都下载成功后,网页会根据HTML语法结构,完整的显示出来了。
URL:统一资源定位符,是用于完整地描述Internet上网页和其他资源的地址和一种标识方法。
基本格式:scheme://host[:port#]/path/.../[?query-string][#anchor]
scheme:协议(例如:http,https,ftp)
host:服务器的IP地址或者域名
port#:服务器的端口(如果是走协议默认端口,缺省端口80)
path:访问资源的路径
query-string:参数,发送给http服务器的数据
anchor:锚(跳转到网页的指定锚点位置)
例如:
frp://192.168.0.116:8080/index
http://www.baidu.com
http://item.jd.com/11935238.html#product-detail
三、客户端HTTP请求
URL只是标识资源的位置,而HTTP是用来提交和获取资源。客户端发送一个HTTP请求到服务器的请求消息,包括一下格式:
请求行、请求头部、空行、请求数据
四个部分组成,下图给出了请求报文的一般格式。
一个典型的HTTP请求实例