03. HTTP协议

2023-11-14

目录

HTTP协议

基本概念

请求:

响应:

请求头中最常见的⼀些重要内容(爬虫需要):

响应头中⼀些重要的内容:

请求方式:

总结


HTTP协议


基本概念

协议: 就是两个计算机之间为了能够流畅的进行沟通而设置的⼀个君子协定。常见的协议有TCP/IP,SOAP协议,HTTP协议,SMTP协议等等.....

HTTP: Hyper Text Transfer Protocal 超文本传输协议,即浏览器和服务器之间数据交互遵守的协议,是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议。

HTTP协议把一条消息分为三大块内容,无论请求还是响应都是三块内容

请求:

请求行 -> 请求方式(get/post)请求url地址、协议

请求头 -> 放一些服务器要使用的一些附加信息

请求体 -> 一般放一些请求参数

响应:

状态行 -> 协议 状态码

响应头 -> 放一些客户端要使用的一些附加信息

响应体 -> 服务器返回的真正客户端要用的内容(HTML/json等)

后面我们写爬虫的时候要格外注意请求头和响应头,这两个地方通常都隐含着一些重要的内容。

 


请求头中最常见的⼀些重要内容(爬虫需要):

1. User-Agent : 请求载体的身份标识(用啥发送的请求)
2. Referer: 防盗链(这次请求是从哪个页面来的? 反爬会用到)
3. cookie: 本地字符串数据信息(用户登录信息, 反爬的token)

响应头中⼀些重要的内容:

1. cookie: 本地字符串数据信息(用户登录信息, 反爬的token)
2. 各种神奇的莫名其妙的字符串(这个需要经验了, ⼀般都是token字样, 防止各种攻击和反爬)

请求方式:

GET: 显示提交(查询)
POST: 隐示提交(更改)

总结

# HTTP: Hyper Text Transfer Protocal 超文本传输协议,即浏览器和服务器之间数据交互遵守的协议
# HTTP把一条消息分为三大块内容,请求和响应都是三大块内容
# 请求:请求行(请求方式get/post、请求url地址、协议)、请求头(服务器使用的附加协议)、请求体(请求参数)
# 响应:状态行(协议、状态码)、响应头(客户端使用的附加协议)、响应体(服务器返回的客户端真正需要的内容如html,json等)

# 请求头中常见的一些重要内容(爬虫需要):
# User-Agent(UA):请求载体的身份标识(用什么发送的请求)
# Referer:防盗链(这次请求是从哪个页面来的?反爬会用到)
# cookie:本地字符串数据信息(用户登录信息,反爬的token)

# 响应头中常见的一些重要内容:
# cookie:本地字符串数据信息(用户登录信息,反爬的token)
# 各种神奇的莫名其妙的字符串(需要经验,一般都是token字样,防止各种攻击和反爬)

# 请求方式
# GET: 显示提交(查询等)
# POST: 隐示提交(更改等)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

03. HTTP协议 的相关文章

  • 使用 Django 发出 HTTP 请求并反序列化输出

    因此 我对整个 Web 开发几乎完全陌生 但已经投入到一个使用 Django 从 Web 服务中提取和解析数据的副项目中 并且即使在查看 Django 时 我也很难准确地理解事情是如何工作的 文档 在 Django 中 我已经完成了所有设置
  • 如何知道 HTTP 服务器何时完成发送数据

    我正在开发一个面向浏览器 代理的项目 我需要下载网页 向 Web 服务器发送自定义 HTTP 请求后 我开始监听服务器响应 读取响应时 我检查响应标头中的 Content Length row 如果我得到其中之一 很容易确定服务器何时完成发
  • 在 Go 中读取请求负载?

    我正在使用文件上传器 需要请求负载中的详细信息来裁剪它 func Upload w http ResponseWriter r http Request reader err r MultipartReader if err nil htt
  • 如何在 Rails 中重定向到 404?

    我想在 Rails 中 伪造 404 页面 在 PHP 中 我只发送一个带有错误代码的标头 如下所示 header HTTP 1 0 404 Not Found Rails 是如何做到这一点的 不要自己渲染 404 没有理由这样做 Rail
  • AddressAccessDeniedException :无需 netsh 即可解决它?

    我遇到了异常AddressAccessDeniedException因为我的processus没有注册URL的权限 我首先以管理员身份运行我的程序 好的 它成功了 但我现在想要分发我的应用程序 并且我希望每个用户都能够运行它 而不必成为管理
  • 如何使用 Node.js 和 Axios 将文件上传到 AWS 中的预签名 URL?

    我有下一个场景 通过 AWS SDK 生成用于文件上传的签名 URL 尝试使用axios 或request npm包上传本地文件 但每次我都会出错 Status 403状态文本 禁止
  • Node.JS Web 服务器中的安全性

    所以 我正在学习 Node JS 到目前为止我很喜欢它 我已经有几个项目在工作了 我想我可以在其中使用nodejs 不过 我担心安全问题 如果我使用 Node JS http 模块编写自定义 Web 服务器 我是否可能非常容易受到攻击 Ap
  • REST URL 结构建议

    我正在尝试为我正在开发的网站的愿望清单部分敲定一个宁静的网址结构 这是一个非常简单的模型 用户可以有许多愿望清单 每个愿望清单可以包含许多产品 目前我有明显的 CRUD URL 来操作愿望清单本身 GET account wishlists
  • HTTP实时音频流服务器

    作为概念验证 我需要创建一个 HTTP 服务器 该服务器在 GET 请求时应启动连续的非编码 非压缩音频数据流 WAV PCM16 我们假设音频数据是 4096 个随机生成的单声道音频样本块 采样率为 44 1kHz 我应该在 HTTP 响
  • HttpGet 401 状态代码后跟 200 状态代码

    我使用 Apachage HttpComponent 访问 Web 服务时遇到奇怪的行为 我可以访问服务器日志 当我尝试连接到服务器并执行 httpGet 命令时 我可以在日志中首先看到 401 状态 http 未经授权 然后看到 200
  • HTTP 重定向图像可以吗?

    返回图片资源时返回301 302 303代码可以吗 我过去曾这样做过 而且似乎有效 这是好的做法吗 它与大多数浏览器兼容吗 是的 您可以重定向图像 浏览器将遵循重定向 但出于性能原因 您通常希望将重定向保持在最低限度 因为每个重定向都需要单
  • 我首次设置 AWS EB 时创建的默认安全组是什么?

    我对几个组所扮演的角色感到困惑 这些组似乎已自动添加到我的 AWS 安全组列表中 并以我收集的默认配置进行连接 并且想知道它们是如何工作的 以及它们的安全性如何 改变 具体来说 有三个神秘之处 launch wizard 1其中有一条入站规
  • 如何通过 HTTP POST 发送充满对象的 NSArray?

    我在 iPhone 端有一个产品 购物清单 由具有名称 product id 等的产品对象组成 我希望将此列表发送到服务器 在那里我将服务器上的列表与 iphone 中的列表进行比较 以合并所做的更改并将合并的列表发送回 iphone 如何
  • 在 Ubuntu 12.04 上的 Apache 上配置 SVN 服务器

    我正在尝试通过 HTTP 访问现有的 Subversion 服务器 我的dav svn conf文件看起来像
  • 在 Heroku 上获取客户端的真实 IP 地址

    在任何 Heroku 堆栈上 我想获取客户端的 IP 我的第一次尝试可能是 request headers REMOTE ADDR 当然 这是行不通的 因为所有请求都是通过代理传递的 所以替代方法是使用 request headers X
  • 如何使用独立的 Jetty 进行服务器推送

    我正在尝试使用独立的 Jetty 在静态网站上测试服务器推送功能 我的网站由一个index html 1个CSS 一堆图像组成 目录结构为 Album index html style css images image 1 png a se
  • HttpRequest PUT内容到poco库中

    我想使用 HTTP PUT 请求将一些数据从 C 应用程序发送到服务器 我在用poco http pocoproject org我的应用程序中的网络库 我正在使用这个代码片段 HTTPClientSession session uri ge
  • Angular JS 在调用新的 $http 之前取消 $http 调用

    在 Angular JS 1 1 5 中 您可以取消之前启动的 http 调用 这两个link1 https stackoverflow com questions 16962232 in angularjs how to stop ong
  • 响应 301 永久移动

    我曾经得到以下对 php 请求的响应 回复
  • 返回重定向作为对 Ajax(fetch、XHR 等)请求的响应

    如果浏览器收到对 ajax 请求的重定向响应 会发生什么 如果浏览器收到对 ajax 请求的重定向响应 会发生什么 如果服务器发送重定向 又名 302 响应加上 Location 标头 浏览器将自动遵循重定向 对此的回应second请求 假

随机推荐

  • web前端技术练习题

    选择题 1 以下哪个不属于Web前端开发的核心技术 A HTML C JavaScript B CSS D Java 2 关于HTML说法错误的是 A HTML标签的嵌套结构可以描述成一个网状结构 B 在 title 和 title 标签之
  • C语言字符型数据(一)—简单的恺撒密码

    首先声明 这些内容主要是面向C语言的初学者 尤其是正在学习C语言的学生 学习C语言的字符型数据时 首先需要记住两条重要特性 1 字符型数据存储的是字符的ASCII码值 2 由于ASCII码值本质上是一个整数 因此字符型数据可以像整数一样做加
  • MySQL行级锁、表级锁、页级锁详细介绍

    页级 引擎 BDB 表级 引擎 MyISAM 理解为锁住整个表 可以同时读 写不行行级 引擎 INNODB 单独的一行记录加锁 表级 直接锁定整张表 在你锁定期间 其它进程无法对该表进行写操作 如果你是写锁 则其它进程则读也不允许行级 仅对
  • python学习 - 存钱问题

    问题描述 父亲准备为小龙的四年大学生活一次性储蓄一笔钱 使用整存零取的方式 控制小龙每月月初取1000元准备这个月使用 假设银行整存零取的年息为1 71 请算出父亲至少需要存入多少钱才行 问题分析 这个问题是一个典型的递推问题 分析存钱和取
  • 蓝牙协议栈实现模式分析

    蓝牙协议栈实现模式分析 广州大学信息与机电工程学院 510405 邹艳碧 广州大学理学院 510405 吴智量 广州大学信息与机电工程学院 510405 李朝晖 摘要 蓝牙技术是未耒无线通信的一个重要的研究方向 本文主要介绍了蓝牙 技术的体
  • Matlab 仿真BPSK调制下传输的误码率

    BPSK Binary Phase Shift Keying 把模拟信号转换成数据值的转换方式之一 利用偏离相位的复数波浪组合来表现信息键控移相方式 我们可以用Matlab仿真其传输误码率 m文件内容如下 传输1000000个码 随机 1
  • 基于java springboot vue仓库管理系统源码(毕设)

    开发环境及工具 大于Jdk1 8 大于mysql5 5 idea eclipse vscode webstorm 技术说明 Springboot mybatis vue elementui 代码注释齐全 没有多余代码 适合学习 毕设 二次开
  • 优雅地测试Exception:@Rule

    使用 Rule测试Exception 导入库 import org junit Rule import org junit rules ExpectedException 声明错误期望对象 Rule public ExpectedExcep
  • javaweb项目总结思路

    JAVAweb项目思路指南 本次项目所用技术 第一章 需求 系统用户模块 员工管理模块 系统权限功能 第二章 数据库设计 创建数据库 用户表 员工表 第三章 架构选择 第四章 搭建系统开发 搭建系统开发环境 编写实体类 编写user实体类
  • 类和对象【默认成员函数】

    全文目录 类的6个默认成员函数 构造函数 特性 析构函数 特性 拷贝构造函数 特性 赋值运算符重载 运算符重载 赋值运算符重载 前置 和 后置 const 成员 取地址及const取地址操作符重载 类的6个默认成员函数 每个类不管有没有内容
  • Java进阶01:Hibernate教程

    1 什么是Hibernate Hibernate是一个开放源码的ORM Object Relational Mapping 对象关系映射 框架 它对JDBC进行了轻量级的封装 使得Java开发人员可以使用面向对象的编程思想来操作数据库 2
  • FISCO BCOS 和 WeBASE-Front 搭建联盟链

    一丶环境依赖 安装ubuntu依赖sudo apt install y openssl curl 安装centos依赖sudo yum install y openssl openssl devel 二丶创建操作目录cd mkdir p f
  • HTML案例设计(用户信息提交表单)

    最近学习了HTML语法知识 详见内容请戳此次HTML基础知识 遂做了此前端界面 比较简略 但是算对Web开发有了初步的认识 先放效果图出来 你的三连就是我创作的动力 HTML代码 本次知识点将会不定期补充 div align center
  • 智能学习

    智能学习 MATLAB实现CS BP多变量时间序列预测 布谷鸟搜索算法优化BP神经网络 目录 智能学习 MATLAB实现CS BP多变量时间序列预测 布谷鸟搜索算法优化BP神经网络 预测效果 基本介绍 程序设计 参考资料 预测效果 基本介绍
  • HTML静态页面获取url参数和UserAgent

    目录 前言 原因 解决 1 静态页面获取url的参数 2 取useragent的值 3 测试页面 前言 接技术支持小伙伴信 有用户反馈app在华为设备上下载不了 以为是服务器覆盖的范围不够或服务器挂了 直到另一个客服同事发来一个录屏 基本知
  • 自己写ArrayList后的心得

    源码分析 ArrayList应该是Java工具类中最简单的一个 它的内部实现是一个数组 在首次加入元素时 ArrayList会创建一个默认大小的数组 之后的添加 删除 查询操作都是对该数组进行操作 而我自己写的ArrayList则是和Lin
  • 记录错误:FileNotFoundError: [WinError 3] 系统找不到指定的路径。: ‘E:\\CV_Paper_fuxian\\lesson\\B_VGG\\..\\Data\\tra

    撸代码发现错误 FileNotFoundError WinError 3 系统找不到指定的路径 E CV Paper fuxian lesson B VGG Data train 经过检查发现 是系统内文件夹名称设置错误 如果出现这样的错误
  • new与malloc

    1 属性 new delete是c 运算符 关键字 需要编译器支持 malloc free是库函数 需要头文件支持 2 参数 使用new操作符申请内存分配时无需指定内存块的大小 编译器会根据类型信息自行计算 而malloc需要显示的指出所需
  • java/php/net/python家庭财务管理系统设计

    本系统带文档lw万字以上 答辩PPT 查重 如果这个题目不合适 可以去我上传的资源里面找题目 找不到的话 评论留下题目 或者站内私信我 有时间看到机会给您发 管理员用例图 系统中的核心家庭是系统管理员 管理员登录后 通过管理员菜单来管理后台
  • 03. HTTP协议

    目录 HTTP协议 基本概念 请求 响应 请求头中最常见的 些重要内容 爬虫需要 响应头中 些重要的内容 请求方式 总结 HTTP协议 基本概念 协议 就是两个计算机之间为了能够流畅的进行沟通而设置的 个君子协定 常见的协议有TCP IP