注意:该作者博客已迁移至https://buxianshan.xyz

HTTP/HTTPS

HTTP(Hyper Text Transfer Protocol):超文本传输协议。规定万维网服务器与浏览器之间信息传递规范。
HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer)是以安全为目标的HTTP协议,简单地讲就是HTTP的安全版,加入了SSL加密层。

URL

URL(Universal Resource Locator):统一资源定位符。互联网上的每个文件都有一个唯一的URL。
格式:传输协议+域名+端口号+路径+文件名

HTTP请求过程

在浏览器输入URL按下回车便是通过浏览器向网站服务器发送了一个请求。网站服务器接收到这个请求后进行处理,然后返回对应的响应给浏览器。浏览器再对收到的响应解析,将网页呈现出来。

在Chrom浏览器中,右键选择【检查】,即可打开浏览器的开发者工具,选择“NetWork”条目。输入百度的URL回车,观察这个网络请求的过程。

  • 第一列Name:请求的名称,一般会将URL的最后一部分内容当作名称。
  • 第二列Status:响应的状态码,200代表正常,403代表禁止访问,404代表未找到……
  • 第三列Type:请求的文件类型。document代表html文档,还有png、gif图片,script脚本等。
  • 第四列Initiator:请求源。用来标记请求是由哪个对象或进程发起的。
  • 第五列Size:从服务器下载的文件资源大小。如**KB,disk cache代表从磁盘中获取,memory cache代表从内存中获取。参考
  • 第六列Time:从发起请求到获得响应的总时间。

我们只输入了一个URL却看到一连串的请求。这是因为浏览器收到响应后,就开始解析其中的html代码,遇到js/css/image等静态资源时,就向服务器端去请求下载。比如点击bd_log1.png这个请求,然后点击Preview可以看预览,就是百度的logo。参考

点击一个条目,可以看到详细信息。

General部分包含URL、请求方法、响应状态码、远程服务器地址端口。

请求方法常用的有两种:GET和POST。主要区别是GET请求中的参数包含在URL中(最多1024字节),可以在URL中看到。而POST请求以表单的形式传输参数,参数包含在请求体中,大小无限制。

Request Headers请求头

Accept:说明客户端可以接受哪些类型的信息。
User-Agent:使服务器识别客户使用的操作系统、浏览器及版本等信息。例如:

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36

直接用python请求时默认为:

User-Agent: Python-urllib/3.7

有的网站通过识别 User-Agent 拒绝爬虫,所以可以自己设置User-Agent伪装成浏览器。

Cookie:网站为了辨别用户进行会话跟踪而存储在用户本地的数据。比如登录了一个网站,服务器给你设置了Cookie,以后只要在请求中加入Cookie,服务器就知道你已经登录过了,不用重新登录就可以继续访问了。

请求体:一般是POST请求中的表单数据,而GET请求体为空。

Response Headers响应头

  • Date:响应的日期时间
  • Sever:包含服务器的信息,名称、版本号等。如BWS/1.1应该是Baidu Web Sever百度研发的web服务器。常见的还有Apache、IIS等。
  • Set-Cookie:设置Cookie。告诉浏览器下次请求携带Cookie内容。

响应体:html代码或者下载文件的二进制数据。点击“Preview”,就可以看到响应体的内容,它也是解析的目标。

爬虫基础:HTTP基本原理相关推荐

  1. http在链接中加入用户名_爬虫基础——HTTP基本原理

    URI和URL URI:统一资源标志符(全称Uniform Resource Identifier ) URL:统一资源定位符(全称Universal Resource Locator ) URL简单 ...

  2. python基础知识整理-python爬虫基础知识点整理

    首先爬虫是什么? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本. 根据我的经验,要学习Python爬虫 ...

  3. 爬虫总结(一)-- 爬虫基础 python实现

    爬虫在平时也经常用,但一直没有系统的总结过,其实它涉及了许多的知识点.这一系列会理一遍这些知识点,不求详尽,只希望以点带面构建一个爬虫的知识框架.这一篇是概念性解释以及入门级爬虫介绍(以爬取网易新闻为 ...

  4. Python网络爬虫(一):爬虫基础

    Python网络爬虫(一)爬虫基础 一.爬虫基础 1.HTTP基本原理 1.1URI和URL URI,全称:Uniform Resource Identifier,即统一资源标志符:URL,全称:Un ...

  5. 网络爬虫(一):爬虫基础原理

    一.学习前言 学习完Python语言后,总觉得有难以用武之地,纸上学来终觉浅,绝知此事要躬行,如果不加以使用就很容易忘记,为了加深python语言的记忆和理解,我选择学习网络爬虫的技术来进一步提升自己 ...

  6. python爬虫——基础知识

    python爬虫--基础知识 一.网页基础知识 二.爬虫的思路 1.HTML文档(超文本) 三.ROBOTS协议 四.浏览器发送HTTP请求的过程 1.http请求过程 2.请求 五.SSL连接错误 ...

  7. python基础知识500题_python爬虫基础知识点整理

    更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.sfkyty.com ...

  8. python爬虫基础知识点整理

    更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.sfkyty.com ...

  9. 倚天剑第一式——爬虫基础

    博主简介:博主是一个大二学生,主攻人工智能领域研究.感谢缘分让我们在CSDN相遇,博主致力于在这里分享关于人工智能,C++,python,爬虫等方面的知识分享.如果有需要的小伙伴,可以关注博主,博主会 ...

  10. 爬虫基础(一)之概念、作用、分类和流程

    爬虫基础(一)之概念.作用.分类和流程 1. 爬虫的概念 模拟浏览器,发送请求,获取响应        浏览器相当于客户端 网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟客户端(如网易云音乐)(主要 ...

最新文章

  1. 奇点云发布三大无人零售终端产品,“云”“端”结合赋能零售商
  2. kotlin内联函数let、with、run、apply、also
  3. android省市二级联动的实现
  4. 【CV】基于UNet网络实现的人像分割 | 附数据集
  5. java程序员需要考证_泄题了!Java程序员最可能被考到的14个面试题
  6. Ubuntu 配置防火墙端口
  7. IntelliJ IDEA 12创建Maven管理的Java Web项目(图解)
  8. 大剑无锋之Zookeeper面试题
  9. QT打印窗口、退出、设置字体及颜色、设置时间、控件实现系统函数、添加资源文件(菜单图片)、工具栏添加图片
  10. 读《大道至简》第三章 有感
  11. 电大计算机应用基础网考小抄,电大计算机应用基础网考资料小抄.doc
  12. csdn编辑器公式中插入空格
  13. 【蓝桥杯选拔赛真题48】Scratch跳舞机游戏 少儿编程scratch蓝桥杯选拔赛真题讲解
  14. MATLAB识别实验,基于MATLAB的人脸识别系统实验报告.pdf
  15. paip.突破 网站 手机 验证码 的 破解 总结
  16. linux运维是做什么的
  17. BOM对非标制造企业成本管控的重要性
  18. BZOJ1016 || 洛谷P4208 [JSOI2008]最小生成树计数【矩阵树定理】
  19. 骞云科技SmartCMP v3.5版本正式发布
  20. 直击GITC2018 尚德机构苏万松:从消费互联网到产业互联网

热门文章

  1. android ios 微信 备份通讯录备份通讯录备份通讯录,苹果手机怎么备份通讯录?手机通讯录微信联系人备份教程...
  2. python判断手机号运营商_python手机号码运营商归属测试
  3. LeetCode: 183. Customers Who Never Order
  4. Win10有哪些版本?有什么区别?如何选择Win10版本
  5. maven问题:org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
  6. 目标检测之CSK(Exploiting the Circulant Structure of Tracking-by-detection with Kernels)
  7. Pandas快速合并多张excel表格
  8. DOS/WinPE双启动移动硬盘制作详解
  9. Dagger2利器系列二:懒/重加载+Component 的组织关系
  10. 中文转自定义英文存储