HTTP和HTTPS以及Fiddler的使用_recv

一、HTTP和HTTPS

HTTP协议(超文本传输协议):是一种发布和接受HTML页面的方法。

HTTPS就是HTTP的安全版,在HTTP下加入SSL层。

SSL(安全套接层)主要用于Web的完全传输协议,在传输层对网络链接进行加密,保障在Internet上数据传输的安全。

    HTTP的端口号为80,HTTPS的端口号为443

HTTP工作原理

网络爬虫抓取过程可以理解为  模拟浏览器操作的过程。

浏览器的主要功能是像服务器发出请求,在浏览器窗口中展示您选择的网络资源,HTTP是一套计算机通过网络进行通信的规则。

二、HTTP的请求与响应

HTTP通信由两部分组成:客户端请求消息服务器响应消息

HTTP和HTTPS以及Fiddler的使用_recv

浏览器发送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上网页和其他资源的地址和一种标识方法。

HTTP和HTTPS以及Fiddler的使用_recv

基本格式: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和HTTPS以及Fiddler的使用_recv

一个典型的HTTP请求实例

HTTP和HTTPS以及Fiddler的使用_recv