什么是http协议呢?

HTTP(HyperText Transfer Protocol)指的是超文本传输协议。超文本传输协议是一种基于请求与响应模式的无状态的应用层协议。

请与响应模式:简单说,就是用户发起请求,服务器做相关响应。

无状态:指的是第一次请求,跟第二次请求之间,并没有相关的关联。

应用层协议:指的是该协议工作在tcp协议之上。

URL

HTTP协议一般采用url作为定位网络资源的标识。URL格式如下,

http://[host]:[port]/[path]

每一个url需要以http冒号,两个反斜杠开头,那它后面有3个域:

1、host是一个表示合法的internet主机,域名或ip地址。

2、 port,指的是端口号。这一部分可以省略那默认端口号为80。

3、path,指的是资源在这样的主机或ip地址的服务器上,它所包含的内部路径。

我们举个例子:

http://yeahcoding.tech/index.html

指的是一页编程官网根目录下的index.html文件。

我们怎么理解URL呢?

其实url是通过HTTP协议存取资源的internet路径,它就像我们电脑里边的一个文件的路径一样,只不过这个文件不在电脑里,在internet上,那每一个URL,对应了internet上的一个数据资源。

HTTP操作方法

HTTP协议对资源呢,它有些操作的功能,最主要的HTTP协议的操作方法,一共有6个:

方法

说明

GET

获取URL位置的资源

HEAD

获取位置资源的头部信息

POST

向URL位置的资源后,增加新的数据

PUT

向URL位置存储一个资源

PATCH

向URL位置的资源进行局部更新

DELETE

删掉URL位置所存储的相关资源

事实上,HTTP协议,通过URL对资源做定位,通过这样6个常用的方法,对资源进行管理,每一次操作都是独立无状态的,也就是这个操作跟下一次操作并没有关系。

在HTTP协议的世界里,网络通道跟服务器都是黑盒子,他能看到的就是url链接以及对url链接的相关操作。这

样理解大家是不是很清楚呢?

PATCH和PUT区别

我们举一个例子:

在URL的位置上有一组数据,这个数据叫UserInfo,表示的是用户信息,那它包含了很多字段,比如说包含了UserId,UserName等20个字段。需求是,用户只改变了自己的用户名,就是UserName, 而其他并没有改变,如何把这样的信息更新到服务器上?

采用PATCH方法

使用patch方法时,我们只需要使用HTTP协议,向URL重新提交UserName就行了。

采用PUT方法

PUT方法会覆盖URL位置所对应的资源,所以为了不覆盖掉这个资源,我们必须将userInfo所对应的20个字段,同时再次的提交到URL对应的位置上,包括你更新的这个UserName。如果恰巧你没有提交其他字段,只提交了UserName。那么这个URL对应的位置上就只剩Username的信息了。

比较PATCH跟PUT。我们发现PATCH方法的最大好处是节省网络带宽。当URL对应的资源是个很庞大资源的时候,我们只需要改其中一个,那我就用PATCH来去修改那一个,而不需要用PUT重新去提交那么多的资源。所以PATCH也是HTTP协议改良后的一个新增指令。

python用http协议传数据_《Python网络爬虫》1.3 HTTP协议基础知识相关推荐

  1. 2020年最佳的5种社交媒体的数据抓取/网络爬虫工具

    2020年最佳的5种社交媒体的数据抓取/网络爬虫工具 查看原文章: 2020年最佳的5种社交媒体的网络爬虫工具 社交媒体数据抓取工具通常是指一种自动化网络爬虫工具,可从社交媒体渠道提取数据.它不仅包括 ...

  2. 数据抓包(网络爬虫)-正方教务管理系统登录后获取自己的课程表

    上次发的博客是:数据抓包(网络爬虫)-正方教务管理系统登录 好的,今天我们来抓自己的课程表数据,说实话,都会模拟登录了,抓个课程表的什么就不再话下了. 直接来步骤: 1.首先还是监视浏览器中得到自己课 ...

  3. python一行输出多个数据_如何在Python中让两个print()函数的输出打印在一行内?

    1.两个连续的print()函数为什么在输出时内容会分行显示? 解:print()中有两个默认参数sep和end,其中sep是代替分隔符,end是代替末尾的换行符,默认使用','代替空格,且默认末尾加 ...

  4. python向es写入大量数据_使用Python-elasticsearch-bulk批量快速向elasticsearch插入数据_李谦的博客-CSDN博客...

    from elasticsearch import Elasticsearch from elasticsearch import helpers import pymysql import time ...

  5. python用xlrd怎么清洗数据_用Python进行数据清洗!

    导读:数据清洗是数据分析的必备环节,在进行分析过程中,会有很多不符合分析要求的数据,例如重复.错误.缺失.异常类数据. Python资源共享群:626017123 01 重复值处理 数据录入过程.数据 ...

  6. linux中python如何调用matlab的数据_特征锦囊:如何在Python中处理不平衡数据

    今日锦囊 特征锦囊:如何在Python中处理不平衡数据 ? Index 1.到底什么是不平衡数据 2.处理不平衡数据的理论方法 3.Python里有什么包可以处理不平衡样本 4.Python中具体如何 ...

  7. python用xlrd怎么清洗数据_利用Python进行数据清洗

    据说数据清洗占数据分析工作的80%, 迅速,正确的将数据进行清洗将提高数据分析的效率. 数据分析步骤: 一. 提出问题 提出业务指标 二. 理解数据 第一步:准备工作(安装xlrd包,导入包) act ...

  8. python爬取b站数据_如果利用Python爬取B站上千万数据?B站直播都是大屌萌妹吗?...

    粉丝独白 说起热门的B站相信很多喜欢玩动漫的,看最有创意的Up主的同学一定非常熟悉.我突发奇想学Python这么久了,为啥不用Python爬取B站中我关注的人,已经关注的人他们关注的人,看看全站里面热 ...

  9. python爬淘宝app数据_一篇文章教会你用Python爬取淘宝评论数据(写在记事本)

    [一.项目简介] 本文主要目标是采集淘宝的评价,找出客户所需要的功能.统计客户评价上面夸哪个功能多,比如防水,容量大,好看等等. [二.项目准备工作] 准备Pycharm,下载安装等,可以参考这篇文章 ...

最新文章

  1. 7、vue中将token存到cookie
  2. 【OpenGL】关于OpenGL中Bind函数的理解
  3. .NET 页面间传值的几种方法
  4. shopnc 商城源码阅读笔记--开篇概述
  5. c++11-auto,nullptr
  6. android 注解创建对象,Android ORM 框架:GreenDao 使用详解
  7. pytorch和GPU有关操作(CUDA)
  8. 打印流PrintWriter实现自动刷新和换行
  9. SecureCRT 终端仿真程序 v7.0.0.326 中文绿色便携破解版
  10. 完工后的决算书范本_竣工结算书样本.doc
  11. mysql 身份证 年龄_mysql 中通过身份证号码计算年龄
  12. Win10+Ubuntu双系统修复Ubuntu系统引导
  13. 学习制作横板过关游戏——1
  14. jojo第七部dio怎么复活_JOJO杂谈:DIO复活的那些年到底在干什么?
  15. java 图片去水印_如何用java去除图片水印?
  16. 最近沉迷美女图片无法自拔,所以我决定用PHP扒海量妹子图
  17. SpringBoot集成OAuth2.0有新方案了
  18. wannier拟合能带总是拟合不上_科学网-Wannier90输入文件中num_wann, num_bands, 和energy window等参数设置规则-李云海的博文...
  19. 启动kafka无反应_kafka consumer无法正常启动原因调查
  20. 关于pyecharts各个全局配置项设置示例——个人内容整理与分享

热门文章

  1. 华为随身wifi不显示无服务器,没网卡不要紧 华为随行WiFi Pro让你上网无忧
  2. 继承的原理java_Java继承和多态的原理
  3. linux 备份mysql_linux下备份MYSQL数据库的方法
  4. git status怎么操作_新手 git 简明操作指南
  5. android编译modem,android modem调试的一点点心得
  6. 用计算机找到自己的另一半,希望找到另一半的说说 期盼找到另一半的句子
  7. pandownload软件下载
  8. redis的bitmap操作
  9. 大一计算机应用基础答案李小艳,13级幼师班期末考试计算机试题A卷
  10. 论高校计算机信息管理能力的提升,论高校计算机信息管理能力的提升