2020-07-09→Python爬虫课第一节_爬虫概念

一、通讯协议

1.1 端口

  • 我们想要进⾏数据通讯分⼏步?
    1、找到对⽅ip
    2、数据要发送到对⽅指定的应⽤程序上。为了标识这些应⽤程序,所以给这些
    ⽹络应⽤程序都⽤数字进⾏了标识。为了⽅便称呼这个数字,叫做 端⼝。这⾥
    的端⼝ 我们⼀般都叫做 '逻辑端⼝'
    3、定义通讯规则。这个通讯规则我们⼀般称之为协议

1.2 通讯协议

  • 国际组织定义了通⽤的通信协议 TCP/IP协议。
  • 所谓协议就是指计算机通信⽹络中两台计算机之间进⾏通信所必须共同遵守的规定或规则。
  • HTTP⼜叫做超⽂本传输协议(是⼀种通信协议),HTTP 它的端⼝是:80

二、网络模型

image.png

image.png

2.1 HTTPS是什么

  • https=http+ssl,顾名思义,https是在http的基础上加上了SSL保护壳,信息的加密过程就是在SSL中完成的。
  • https,是以安全为⽬标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加⼊SSL层,HTTPS的安全基础是SSL。

2.2 SSL怎么理解

  • SSL也是⼀个协议主要⽤于web的安全传输协议。


    image.png

2.3 Http请求与响应

  • HTTP通信由两部分组成:客户端请求消息与服务器响应消息。
    image.png

    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语法结构,完整的显示出来了。

2.4 客户端的Http请求

  • URL只是标识资源的位置,⽽HTTP是⽤来提交和获取资源。客户端发送⼀个HTTP请求到服务器的请求消息,包括以下格式:
    请求⾏、请求头部、空⾏、请求数据四个部分组成,下图给出了请求报⽂的⼀般格式。
    image.png

    典型的HTTP请求示例:
    1 GET / HTTP/1.1
    2 Host: www.baidu.com
    3 Connection: keep-alive
    4 Cache-Control: max-age=0
    5 Upgrade-Insecure-Requests: 1
    6 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/53
    7.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36
    7 Sec-Fetch-Mode: navigate
    8 Sec-Fetch-User: ?1
    9 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/
    webp,image/apng,/;q=0.8,application/signed-exchange;v=b3
    10 Sec-Fetch-Site: same-origin
    11 Referer: https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=
    baidu&wd=Python%20%20%E6%89%8B%E5%8A%A8%E5%9B%9E%E6%94%B6%E5%9E%83%E
    5%9C%BE&oq=Python%2520%25E6%2594%25B6%25E5%2588%25B0%25E5%259B%259E%
    25E6%2594%25B6%25E5%259E%2583%25E5%259C%25BE&rsv_pq=f5baabda0010c033
    &rsv_t=1323wLC5312ORKIcfWo4JroXu16WSW5HqZ183yRWRnjWHaeeseiUUPIDun4&r
    qlang=cn&rsv_enter=1&rsv_dl=tb&inputT=2315&rsv_sug3=48&rsv_sug2=0&rs
    v_sug4=2736
    12 Accept-Encoding: gzip, deflate, br
    13 Accept-Language: zh-CN,zh;q=0.9
    14 Cookie: BIDUPSID=4049831E3DB8DE890DFFCA6103FF02C1;

请求⽅法

  • 根据HTTP标准,HTTP请求可以使⽤多种请求⽅法。
    HTTP 0.9:只有基本的⽂本 GET 功能。
    HTTP 1.0:完善的请求/响应模型,并将协议补充完整,定义了三种请求⽅法:
    GET, POST 和 HEAD⽅法。
    HTTP 1.1:在 1.0 基础上进⾏更新,新增了五种请求⽅法:
    OPTIONS, PUT,DELETE, TRACE 和 CONNECT ⽅法。
    HTTP 2.0(未普及):请求/响应⾸部的定义基本没有改变,只是所有⾸部键
    必须全部⼩写,⽽且请求⾏要独⽴为 :method、:scheme、:host、:path这些
    键值对。
image.png

你可能感兴趣的:(2020-07-09→Python爬虫课第一节_爬虫概念)