【计算机网络学习之路】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没有请求体

结束语

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

chrome 调试之 - 给微软小冰看病(无论给小冰发送什么内容都只回复“我已经开始升级啦,期待一下吧!”)

微软 Bing 搜索推出了小冰AI智能聊天模块,具体启用方式是用edge或chrome浏览器打开链接 cn.bing.com 后在输入框搜索任意内容,待搜索结果页面加载完并稍等片刻,页面右侧就会出现一个躲在滚动条后面的小萝莉,抚摸...不,…

Java-网络通信总结

文章目录 网络程序设计基础局域网与互联网 网络协议IP协议TCP/IP 协议端口域套接字 TCP 程序InterAddress 类ServerSocket 类 UDP 程序DatagramPacket 类DatagramSocket 类 网络程序设计基础 网络程序设计编写的是与其他计算机进行通信的程序。Java 已经将网络程序所需要的元素…

RK3588平台开发系列讲解(hardware)reference-ril源码分析

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、reference-ril目录介绍二、支持的功能三、Android RIL 框架沉淀、分享、成长,让自己和他人都能有所收获!😄 一、reference-ril目录介绍 目录:3588-android12/hardware/ril/reference-ril

ElementUI 时间选择器如何限定选择时间

DatePicker 日期选择器 | Element Plus 我们如何限定我们的选择时间呢,比如限定选择时间为今天之前,或者今天之后的时间? 我们可以使用官方提供的disabled-date来实现 我们通过这个属性 做一个回调函数,在里面比较我们想要限定的时…

MongoDB数据建模与文档设计

目录 1. 文档数据库的概念 2. 数据建模的最佳实践 3. 复杂文档结构的设计 4. Java代码实践 1. 文档数据库的概念 MongoDB文档模型: MongoDB是一种文档数据库,它以BSON(Binary JSON)格式存储数据。文档是MongoDB中基本的数据单…

#HarmonyOS:基础语法

基础语法 定义了声明式UI描述; 自定义组件; 动态扩展UI元素的能力; 状态管理 多维度装填管理机制;父子组件间爷孙组件间全局范围内传递跨设备传递只读的单向传递可变的双向传递 渲染控制 UI描述:以声明式的方式来…

鸿蒙方舟开发框架ArkUI简介

语雀知识库地址:语雀HarmonyOS知识库 飞书知识库地址:飞书HarmonyOS知识库 嗨,各位别来无恙呐,我是小白 众所周知,华为在今年推出了 HarmonyOS 4.0 版本,而在此之前的版本中,HarmonyOS 应用的 …

2024年AI视频识别技术的6大发展趋势预测

随着人工智能技术的快速发展,AI视频识别技术也将会得到进一步的发展和应用。2023年已经进入尾声,2024年即将来临,那么AI视频识别技术又将迎来怎样的发展趋势?本文将对2023年的AI视频技术做一个简单的盘点并对2024年的发展趋势进行…

Advanced Renamer

Advanced Renamer 安装链接 1.前后添加字符 2.字符转数字,编号整体加减

oracle实验2023-12-8--触发器

第十四周实验 【例】功能要求:增加一新表XS_1,表结构和表XS相同,用来存放从XS表中删除的记录。 分析: 1、创建表 xs_1 SQL> create table xs_1 as select * from xs; Table created SQL> truncate table xs_1; Table truncated题目&a…

StoneDB-8.0-V2.2.0 企业版正式发布!性能优化,稳定性提升,持续公测中!

​ 11月,StoneDB 新版本如期而至,这一个月来我们的研发同学加班加点,持续迭代:在 2.2.0 版本中,我们针对用户提出的需求和做出了重量级更新,修复了一些已知和用户反馈的 Bug,同时对部分代码进行…

PairLIE论文阅读笔记

PairLIE论文阅读笔记 论文为2023CVPR的Learning a Simple Low-light Image Enhancer from Paired Low-light Instances.论文链接如下: openaccess.thecvf.com/content/CVPR2023/papers/Fu_Learning_a_Simple_Low-Light_Image_Enhancer_From_Paired_Low-Light_Instan…

Kafka安全性探究:构建可信赖的分布式消息系统

在本文中,将研究Kafka的安全性,探讨如何确保数据在传输和存储过程中的完整性、机密性以及授权访问。通过详实的示例代码,全面讨论Kafka安全性的各个方面,从加密通信到访问控制,帮助大家构建一个可信赖的分布式消息系统…

vue3 setup router的使用教程

vue3 setup router的使用教程 文章目录 vue3 setup router的使用教程1. 安装2. 使用(创建路由实例)3. 路由跳转3.1 通过router-link标签跳转3.2 通过js代码跳转 4. 接收参数4.1 通过query接收参数4.2 通过params接收参数 5. 路由守卫5.1 全局守卫5.2 路由…

阿里云docker加速

文章目录 一、 阿里云镜像仓库配置二、配置加速1. CentOS2. Mac3. Windows注意 一、 阿里云镜像仓库配置 1.注册阿里云账号,并登陆到阿里云后台,进入控制台面板 2.进入控制台以后,找到左上方的三横的功能列表按钮,在弹出来的功能…

智能手机IC

智能手机IC 电子元器件百科 文章目录 智能手机IC前言一、智能手机IC是什么二、智能手机IC的类别三、智能手机IC应用实例四、智能手机IC作用总结前言 智能手机IC通过相互配合和协同工作,支持智能手机的各种功能和特性,如高速计算、多媒体处理、无线通信、图形渲染、传感器数据…

G1 GC基本逻辑

1 MixedGC基本过程 在G1GC中,有两种主要的垃圾回收过程:Young GC和Mixed GC。这两者都是为了回收堆内存中的垃圾对象,但是他们关注的区域和工作方式有所不同。 Young GC: Young GC主要负责回收Young Generation(包括…

跟着GPT学设计模式之建造者模式

Builder 模式,中文翻译为建造者模式或者构建者模式,也有人叫它生成器模式。允许你创建不同口味的对象同时避免构造器污染。当一个对象可能有几种口味,或者一个对象的创建涉及到很多步骤时会很有用。 现实世界例子:想象一个角色扮…

Vue:用IDEA开发Vue,标签语法爆红问题处理

一、场景描述 我在IDEA中,学习Vue课程。 入门学习时,是在html文件中,script引入vue.js文件方式。 此时,在html文件中用v-标签,爆红。 二、解决办法 打开 菜单栏 File - Settings 选择 Editor - Files Type&#xf…

《每天一个Linux命令》 -- (5)通过sshkey密钥登录服务器

欢迎阅读《每天一个Linux命令》系列!在本篇文章中,将介绍通过密钥生成,使用公钥连接管理服务器。 概念 SSH 密钥是用于安全地访问远程服务器的一种方法。SSH 密钥由一对密钥组成:公钥和私钥。公钥存储在远程服务器上,…