应用于网络爬虫的HTTP和HTTPS概述

HTTP和HTTPS是什么,有什么区别

  1. http
    • 以明文的方式进行传输
    • 默认端口号:80
  2. https
    • http + ssl(安全套接字层)
    • 以密文的方式进行传输
    • 默认端口号:443
  3. http与https的区别
    • ssl 可以对数据进行加密和解密,在服务器端将明文加密成为密文,数据以密文的方式在网络上进行传输,最后在客户端将密文解密为明文再进行处理
    • 因为https比http多一个ssl,所以https比http更加安全,但也正因为这个原因,https比http性能更低

URL的格式

        URL,统一资源定位符,是用来完整地描述interent上网页和其他资源的地址的标识方法。
    基本格式:scheme://host[:port#]/path/…/[?query-string][#anchor]

  • scheme: 协议(eg:http, https, ftp)
  • host: 服务器的IP地址或域名
  • port#: 服务器端口号(协议默认端口号80或443)
  • path: 访问资源的路径
  • query-string: 参数,发送给服务器的数据
  • anchor: 锚, 跳转到网页的指定锚点位置

HTTP请求

    客户端发送的HTTP请求由4部分组成。

  1. 请求行
    请求行由请求方法+空格+URL+空格+协议版本号+回车符+换行符组成
    根据HTTP标准,HTTP请求可以使用多种请求方法。
    • HTTP 0.9: 只有基本的文本GET功能。
    • HTTP 1.0: 完善的请求/响应模型,并将协议补充完整,定义了三种请求方法:GET, POST和HEAD方法。
    • HTTP 1.1:在1.0基础上进行更新,新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE和CONNECT方法
  2. 请求头部
    请求头部由多个(头部字段名+:+值+回车符+换行符)+回车符+换行符组成
    常见的请求报头:
    • Host(主机和端口号):对应网址URL中的Web名称和端口号,用于指定被请求资源的Interent主机和端口号
    • Connection(链接类型):表示客户端与服务连接类型
      • Client发送一个包含Connection:keep-alive的请求,HTTP/1.1使用keep-alive为默认值
      • Server收到请求后,如果支持keep-alive,回复一个 Connection:keep-alive的响应,不关闭连接;如果不支持Connection:keep-alive,回复一个Connection:close的响应,关闭连接。
      • Client收到包含Connection:keep-alive的响应,向同一个连接发送下一个请求,直到一方主动关闭连接
      • 长链接在很多情况下能够重用连接,减少资源消耗,缩短响应时间
    • Upgrade-Insecure-Request(升级为HTTPS请求):升级不安全的请求,即在加载http资源时自动替换为https请求,让浏览器不再显示https页面中的http请求警告
    • User-Agent(浏览器名称):客户浏览器的名称,也是爬虫的必须字段
    • Accept(传输文件类型):值浏览器或其他客户端可以接受的MIME(多用途互联网邮件扩展)文件类型,服务器可以根据它判断并返回适当的文件格式
    • Referer(页面跳转处):表示产生请求的网页是来自于哪个URL,用户是从该Referer页面访问到当前页面。这个属性可以用来跟踪Web请求来自哪个页面,是从什么网站发来的。在爬虫中有时需要对应的referer,否则无法请求,这是因为人家做了反爬虫机制,原理就是根据referer去判断是否是本网站的地址,如果不是,则拒绝,如果是,就可以下载。
    • Accept-Encoding(文件编解码格式):指出浏览器可以接受的编码方式。。编码方式不同于文件格式,它是为了压缩文件并加速文件传递速度。浏览器在接收到Web响应之后先解码,然后再检查文件格式,许多情形下这可以减少大量的下载时间。
    • Accept-Charset(字符编码):指出浏览器可以接受的字符编码
    • Cookie:浏览器用这个属性向服务器发送Cookie。Cookie是在浏览器中寄存的小型数据体,用来记载根服务器有关的用户信息,也可以用来实现回话。
    • Content-Type (POST数据类型):POST请求里用来表示的内容类型
  3. 空行
  4. 请求数据

HTTP响应状态码(status code)

  • 200: 成功
  • 302: 重定向
  • 307: 重定向
  • 404: not found
  • 500: 服务器内部错误
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值