【计算机网络】HTTP请求

目录

前言

HTTP请求报文格式

一. 请求行

HTTP请求方法

GET和POST的区别

URL

二. 请求头

常见的Header

常见的额请求体数据类型

三. 请求体

结束语


前言

HTTP是应用层的一个协议。实际我们访问一个网页,都会像该网页的服务器发送HTTP请求,服务器解析HTTP请求,返回HTTP响应。如此就是我们获取资源或者上传资源的原理

HTTP请求报文格式

图片来自网络

HTTP请求报头总体有四部分:

  • 请求行:有三部分:请求方法URL协议版本。彼此用空格分隔
  • 请求头:KV形式的辅助信息
  • 空行:分隔报头(请求行+请求头)有效载荷(请求体);由回车符,换行符组成,即\r\n
  • 请求体:请求发送时携带的数据。数据类型Content-Type的值

一. 请求行

HTTP请求方法

方法说明支持的HTTP协议版本
GET获取资源1.0,1.1
POST传输实体主体(提交信息)1.0,1.1
PUT传输文件1.0,1.1
HEAD获得报文首部1.0,1.1
DELETE删除文件1.0,1.1
OPTIONS询问支持的方法1.1
TRACE追踪路径1.1
CONNECT要求用隧道协议连接代理1.1
LINK建立和资源之间的联系1.0
UNLINE断开连接关系1.0

其中,最常用的是GETPOST

GET和POST的区别

虽然GET主要作用是获取资源,但也可以提交数据。

两者提交数据的区别是

GET提交的数据会放到url中,以field(字段)= value的形式,置于URL之后,用?分隔前者和请求数据,请求数据间用&分隔。这样密码等数据用户是可见

POST提交的数据会放到请求体中,该过程用户是不可见的

GET传输的数据量小,只传输文本,长度为1024字节,因为受URL长度限制,但效率较高

POST可以传输大量数据,所以上传文件时只能用post方法

GET方法上传数据,是比较不安全的,POST的安全性比GET较高

URL

可以参看URL概念及组成

二. 请求头

请求头(Header)都是以KV方式存放,彼此之间用\r\n分隔。

常见的Header

  • Host:客户端的主机IP和端口号
  • Connection:连接方式,常见为keep-alive,持久连接。报文可能无法一次性发送完,如果没有keep-alive,每一次发送都要建立一次连接
  • User-Agent:包含客户端操作系统,系统引擎版本,浏览器信息。简单过滤一些爬虫访问
  • Content-Type:请求体的数据类型

常见的额请求体数据类型

text/htmlHTML格式
text/plain纯文本格式
image/jpegjpg图片格式
application/jsonJSON数据格式

三. 请求体

请求发送时携带的数据。数据类型Content-Type的值

请求方法为POST和PUT时,请求体就是要上传的数据

GET和DELETE没有请求体

结束语

本篇博客到此结束,感谢看到此处。
欢迎大家纠错和补充
如果觉得本篇文章对你有所帮助的话,不妨点个赞支持一下博主,拜托啦,这对我真的很重要。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/230753.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ASO优化:帮助实现企业和用户的共赢

大数据时代APP拉获新客,ASO优化应该这么玩! 市场那么大,用户那么广。企业设计的APP如何在茫茫人群中精准地把自己送到用户面前,并与ta产生沟通呢。随着时代的发展,数据成为企业竞争的核心。APP的营销发展离不开数据推…

“深入理解作用域、解构和箭头函数——实用案例详解”

目录 学习目标: 学习内容: 学习时间: 学习内容讲解: 作用域 • 局部作用域 全局作用域 作用域链 JS垃圾回收机制 拓展-JS垃圾回收机制-算法说明 闭包 变量提升 函数进阶 函数提升 函数参数 箭头函数 解构赋值 对象解构 遍历数…

Android引用SDK包实现高德地图展示

一、准备工作 注册高德地图开放平台 注册过程我就不多说了,挺简单的,需要登录,然后注册成为开发者,还需要支付宝认证、手机号码验证、邮箱验证挺多的,但是速度很快。基本上随时验证随时注册成功。新建应用新建…

案例二:SQL Server数据库的备份和还原

1、备份类型。 在 SQL Server 中提供了三种常用的备份类型,分别是完整备份.差异备份和事务日志备份。 完整备份: 完整备份包括对整个数据库、部分事务日志、数据库结构和文件结构的备份。完整备份代表的是备份完成时刻的数据库。 完整备份是…

基础课22——听见voc客户之声

1.什么是VOC 1993年,客户之声(Voice of the Customer,简称VoC)第一次出现,在麻省理工同名论文中,VoC被形容为对客户要求的详细理解,产品开发的共同语言和产品创新的跳板。 图片来源百度 但30年…

【每日一题】下一个更大的数值平衡数

Tag 【模拟】【取模运算】 题目来源 2048. 下一个更大的数值平衡数 解题思路 方法一&#xff1a;模拟 思路 观察到数据量 0 < n < 1 0 6 0< n <10^6 0<n<106&#xff0c;我们可能返回的数值平衡数最大是 1224444&#xff0c;这个范围可以在时间要求内…

油猴(Tampermonkey)浏览器插件简单自定义脚本开发

介绍 浏览器插件&#xff0c;包括油猴插件和其他插件&#xff0c;通过它们可以实现浏览器网页的定制化与功能增强。 其他插件一般只有某种具体的功能&#xff0c;且已经写死而不能更改&#xff0c;比如Adblock插件只用于去广告。 油猴插件是一款用于管理用户脚本的插件&…

单片机语言--C51语言的数据类型以及存储类型以及一些基本运算

C51语言 本文主要涉及C51语言的一些基本知识&#xff0c;比如C51语言的数据类型以及存储类型以及一些基本运算。 文章目录 C51语言一、 C51与标准C的比较二、 C51语言中的数据类型与存储类型2.1、C51的扩展数据类型2.2、数据存储类型 三、 C51的基本运算3.1 算术运算符3.2 逻辑…

云原生系列1

1、虚拟机集群环境准备 VirtualBox类似vmware的虚拟化软件&#xff0c;去官网https://www.virtualbox.org/下载最新版本免费的&#xff0c;VirtualBox中鼠标右ctrl加home跳出鼠标到wins中。 VirtualBox安装步骤 https://blog.csdn.net/rfc2544/article/details/131338906 cent…

Qt基础-组件的添加、删除或更新

本文介绍如何在Qt中组件的添加、删除或更新。 概述 有时安装完qt后发现当前的组件需要进一步调整,这时就需要进一步操作安装的文件。 QT的组件管理软件并没有在开始菜单或者桌面添加快捷方式(5.9版本),也没有在代码编辑界面设置相关的选项,藏的比较深。 操作步骤 找到…

kubernetes安装kubesphere

前置默认都安装了k8s&#xff0c;且k8s都正常 1、nfs文件系统 1.1、安装nfs-server # 在每个机器。 yum install -y nfs-utils# 在master 执行以下命令 echo "/nfs/data/ *(insecure,rw,sync,no_root_squash)" > /etc/exports# 执行以下命令&#xff0c;启动 …

代码随想录算法训练营 ---第五十六天

今天同样是 动态规划&#xff1a;编辑距离问题&#xff01; 第一题&#xff1a; 简介&#xff1a; 本题有两个思路&#xff1a; 1.求出最长公共子串&#xff0c;然后返还 word1.length()word2.length()-2*dp[word1.size()][word2.size()] 本思路解法与求最长公共子串相同&…

持续集成交付CICD:使用Maven命令上传Nexus制品

目录 一、实验 1.使用Maven命令上传Nexus制品&#xff08;第一种方式&#xff09; 2.使用Maven命令上传Nexus制品&#xff08;第二种方式&#xff09; 一、实验 1.使用Maven命令上传Nexus制品&#xff08;第一种方式&#xff09; &#xff08;1&#xff09;指定一个 hoste…

试块二维码制作

记号笔传统方式对试块进行标识&#xff0c;试块表面空间有限能记录的内容不多&#xff0c;标识错误&#xff0c;导致难以辨识&#xff0c;防止混淆和拿错&#xff01;通过个试块进行二维码标识&#xff0c;微信扫码即可了解试块详细信息、生产日期、浇筑部位、强度等信息&#…

小白学大模型LLMs:文本分词方法

本文介绍了各种类型的分词&#xff08;tokenization&#xff09;&#xff0c;用于将单词拆分为一个或多个标记&#xff08;token&#xff09;&#xff0c;因为单词和分词之间存在一对多的关系。 什么是预分词&#xff08;Pre-tokenization&#xff09; 预分词是在处理基于文本…

线性容器(QByteArray、QString、QList模板类)、堆栈窗体

QT 线性容器 点击查看&#xff1a;字符和字节的区别&#xff0c;ASCII、Unicode 和 UTF-8 编码的区别。&#xff08;&#x1f448; 安全链接&#xff0c;放心跳转&#xff09; QByteArray 思考&#xff1a;char buf[6] “hello”; 如果 C 语言中要利用 buf 内容重新生成 “…

视觉学习笔记12——百度飞浆框架的PaddleOCR 安装、标注、训练以及测试

系列文章目录 虚拟环境部署 参考博客1 参考博客2 参考博客3 参考博客4 文章目录 系列文章目录一、简单介绍1.OCR介绍2.PaddleOCR介绍 二、安装1.anaconda基础环境1&#xff09;anaconda的基本操作2&#xff09;搭建飞浆的基础环境 2.安装paddlepaddle-gpu版本1&#xff09;安装…

matlab RGB三元组和十六进制的转换

matlab画柱状图改颜色的时候&#xff0c;用三元组的形式&#xff0c;范围是[0&#xff0c;1] 我们获得了十六进制 到网站转换为[0,255] https://c.runoob.com/front-end/55/ 然后将得到的值/255 输入matlab就可以了

android 13.0 去掉recovery模式UI操作页面的菜单选项

1.概述 在13.0进行系统rom定制化开发中,在进行一些定制化开发中,会根据需要在进入recovery模式的时候,去掉recovery模式的一些菜单选项, Reboot to bootloader,Enter rescue等菜单项,经过分析得知, 就是在device.cpp去掉一些菜单选项就可以了,接下来就来分析实现相关功…

Halcon联合winform显示以及处理

在窗口中添加窗体和按钮&#xff0c;并在解决方案资源管理器中调加了导入Halcon导出的.cs文件&#xff0c;运行出现下图的问题&#xff1a; 问题1&#xff1a;CS0017 程序定义了多个入口点。使用/main(指定包含入口点的类型&#xff09;进行编译。 解决方案1.&#xff1a; 右…