# 1.3. HTTP和HTTPS的复习

# 目标

  • 掌握http和https的概念
  • 掌握HTTP的请求过程
  • 掌握HTTP的请求形式
  • 掌握HTTP的常见请求头
  • 掌握GET和POST的区别
  • 了解响应状态码

# 1. 为什么要复习http和https

xcooo

# 2. http和https的概念(掌握)

  • HTTP
    • 超文本传输协议
    • 默认端口号:80
  • HTTPS
    • HTTP + SSL(安全套接字层)
    • 默认端口号:443

HTTPS比HTTP更安全,但是性能更低

# 3. 浏览器发送HTTP请求的过程(重点理解)

xcooo

浏览器会主动请求js,css等内容,js会修改页面的内容,js也可以重新发送请求,最后浏览器渲染出来的内容在elements中,其中包含css,图片,js,url地址对应的响应等。

但是在爬虫中,爬虫只会请求url地址,对应的拿到url地址对应的响应

浏览器渲染出来的页面和爬虫请求的页面并不一样

所以在爬虫中,需要以url地址对应的响应为准来进行数据的提取

# 4. url的形式

url的形式:scheme://host[:port#]/path/…/[?query-string][#anchor]

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

# 5. HTTP请求的形式

xcooo

这个图大家见过很多次,那么在浏览器headers中,点击view source来具体观察其中的请求行,请求头部和请求数据是什么样子的

# 6. HTTP常见请求头

  1. Host (主机和端口号)
  2. Connection (链接类型)
  3. Upgrade-Insecure-Requests (升级为HTTPS请求)
  4. User-Agent (浏览器名称)
  5. Accept (传输文件类型)
  6. Referer (页面跳转处)
  7. Accept-Encoding(文件编解码格式)
  8. Cookie (Cookie)
  9. x-requested-with :XMLHttpRequest (是Ajax 异步请求)

# 7.常见的请求方法

  • GET
  • POST

get请求和post请求的区别可以参w3school (opens new window)

xcooo

# 8.响应状态码(status code)

常见的状态码:

  • 200:成功
  • 302:临时转移至新的url
  • 307:临时转移至新的url
  • 404:not found
  • 500:服务器内部错误

# 小结

  • 本小结重点
    • 理解爬虫获取的数据和浏览器获取的数据不一样
    • 掌握HTTP的常见请求头
    • 了解GET和POST的区别
    • 掌握http和https的区别
    • 了解常见的响应状态码
上次更新: 2020/10/12 下午7:13:44