Python从0到100(三十一):http和https介绍及请求

举报
是Dream呀 发表于 2024/06/21 12:54:07 2024/06/21
【摘要】 1 为什么要复习http和https在发送请求,获取响应的过程中 就是发送http或https的请求,获取http或https的响应 2 http和https的概念HTTP超文本传输协议默认端口号:80HTTPSHTTP + SSL(安全套接字层),即带有安全套接字层的超本文传输协议默认端口号:443HTTPS比HTTP更安全,但是性能更低 3 浏览器发送HTTP请求的过程(重点理解...

在这里插入图片描述

1 为什么要复习http和https

发送请求,获取响应的过程中 就是发送http或https的请求,获取http或https的响应

2 http和https的概念

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

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

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

在这里插入图片描述

3.1 http请求的过程

  1. 浏览器先向地址栏中的url发起请求,并获取相应

  2. 在返回的响应内容(html)中,会带有css、js、图片等url地址,以及ajax代码,浏览器按照响应内容中的顺序依次发送其他的请求,并获取相应的响应

  3. 浏览器每获取一个响应就对展示出的结果进行添加(加载),js,css等内容会修改页面的内容,js也可以重新发送请求,获取响应

  4. 从获取第一个响应并在浏览器中展示,直到最终获取全部响应,并在展示的结果中添加内容或修改————这个过程叫做浏览器的渲染

3.2 注意:

但是在爬虫中,爬虫只会请求url地址,对应的拿到url地址对应的响应(该响应的内容可以是html,css,js,图片等)

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

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

4 HTTP请求的形式

在这里插入图片描述

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

5 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异步请求)

6 HTTP重要的响应头

  1. Set-Cookie (对方服务器设置cookie到用户浏览器的缓存)

7 响应状态码(status code)

常见的状态码:

  • 200:成功
  • 302:临时转移至新的url
  • 307:临时转移至新的url
  • 404:找不到该页面
  • 500:服务器内部错误
  • 503:服务不可用,一般是被反爬

小结

  1. 记忆 http、https的概念和区别:
  • http: 超本文传输协议
  • https: HTTP + SSL,即带有安全套接字层的超本文传输协议
  1. 记忆 浏览器发送http请求的过程:
  • 浏览器先向地址栏中的url发起请求,并获取相应
  • 在返回的响应内容(html)中,会带有css、js、图片等url地址,以及ajax代码,浏览器按照响应内容中的顺序依次发送其他的请求,并获取相应的响应
  • 浏览器每获取一个响应就对展示出的结果进行添加(加载),js,css等内容会修改页面的内容,js也可以重新发送请求,获取响应
  • 从获取第一个响应并在浏览器中展示,直到最终获取全部响应,并在展示的结果中添加内容或修改
  1. 记忆 http请求头的形式:
GET /item/503/1227315?fr=aladdin HTTP/1.1
Host: www.baidu.com
......
  1. 记忆 http响应头的形式 :
HTTP/1.1 200 OK
Connection: keep-alive
......
  1. 了解 http响应状态码
  • 200:成功
  • 302:临时转移至新的url

好书推荐

在这里插入图片描述
本书作者是大数据与人工智能领域的资深专家,技术背景强大,在学术界和工业界均取得了显著成就,多次获得国际奖项,研究成果广泛受到媒体关注。
本书按照知识由浅入深、循序渐进的规律编写而成。根据深度学习技术的特点,将内容划分为数据准备、神经网络模型实现、损失函数实现、整体训练流程和效果展示五部分。逻辑清楚,可操作性强、更易理解。
本书是一本学习深度学习与人工智能实战指南,书中给出了核心算法和技术的原理讲解+真实完整的项目案例+可下载的源代码和实验数据集。

内容简介
深度学习是新一代人工智能所使用的主要技术。本书深入浅出地讲解了深度学习的相关技术,包括深度学习编程基础、目标分类、目标检测、图像分割、生成对抗网络等。对每种技术,本书均从原理和程序实现两个方面进行讲解。在原理方面,讲解算法和技术的相关背景、主要算法思想和原理;在程序实现方面,从数据准备、神经网络模型实现、损失函数实现、整体训练流程和效果展示五部分对算法的实现进行具体介绍,帮助读者深入了解算法的细节,积累相关实践经验。
本书是《深度学习与人工智能》的配套用书,适合深度学习领域的初学者,以及高校高年级本科生和研究生阅读学习。
本书各章节的源代码和实验数据集可通过本书的GitHub主页下载,以供读者自主练习。

购买链接:https://item.jd.com/14378998.html
在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。