【计算机网络学习之路】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.mfbz.cn/a/228030.html

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

相关文章

Microsoft 365 Copilot正式上线,如何稳定访问体验?

如果将微软对人工智能的投资看成一场豪赌,Microsoft Copilot无疑是现阶段最受瞩目的赌注。2023年9月正式发布的Microsoft Copilot是一种基于大型语言模型(LLM)和微软图形(Microsoft Graph)的数据和人工智能&#xff08…

JavaWeb(十一)

一、会话跟踪技术的概述 1.1、会话的概念 用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束。在一次会话中可以包含多次请求和响应。 从浏览器发出请求到服务端响应数据给前端之后,一次会话…

麦谈帮集成API如何优化电商平台、CRM和客服系统:无代码开发的未来

无代码开发的游戏规则改变者 在数字化的浪潮下,电商平台、CRM和客服系统的效率和同步性直接影响着企业的运营成效。麦谈帮以其领先的无代码API集成技术,正重新定义这一领域的游戏规则。通过其提供的400多个接口,企业能够迅速连接不同的系统和…

CentOS 7.9安装宝塔面板,安装gitlab服务器

docker安装方式比较慢,安装包1.3GB 安装后启动很慢 docker logs q18qgztxdvozdv_gitlab-ce-gitlab-1 docker ps docker exec -it q18qgztxdvozdv_gitlab-ce-gitlab-1 sh cd /etc/gitlab cat initial_root_password 软件商店安装方式,失败了2023.12…

生产上线需要注意的安全点

一、关闭swagger 1、关闭swagger v3 # 需同时设置auto-startupfalse,否则/v3/api-docs等接口仍能继续访问 springfox:documentation:enabled: falseauto-startup: falseswagger-ui:enabled: false 2、关闭swagger v2 # 只要不是true就不启用 swagger:enable: fa…

多窗口量子纠缠技术实现

1. 前言 最近看到下面这个,多窗口下实现量子纠缠的特效感觉很惊艳和有创意。 除 Three.js 的特效果部分,技术实现上还是很简单的。 2. 技术点分析 这里面核心两个技术点: 不同 Tab 窗口下的消息通讯。窗口的位置获取。 2.1 Tab 窗口通讯…

小红书蒲公英平台开通后,有哪些注意的地方,以及如何进行报价?

今天来给大家聊聊当小红书账号过1000粉后,开通蒲公英需要注意的事项。 蒲公英平台是小红书APP中的一个专为内容创作者设计的平台。它为品牌和创作者提供了一个完整的服务流程,包括内容的创作、推广、互动以及转换等多个方面。 2.蒲公英平台的主要功能 &…

LIS检验系统,涵盖实验室全部管理流程,适合各种实验机构的业务流程

LIS检验系统源码,云LIS医学检验系统源码 LIS检验系统涵盖实验室的全部管理流程,包括从检验申请、标本采集、实验检测、报告发布的、质控管理、科室事务、试剂管理等完整流程的功能,实现智能化、自动化、规范化管理,遵循医学实验室…

查看虚拟机的版本

1、查看虚拟机的版本 cat /etc/centos-release 2、开启防火墙 systemctl start firewalld 3、查看防火墙状态 firewall-cmd --state

基于SpringBoot+maven+Mybatis+html慢性病报销系统(源码+数据库)

一、项目简介 本项目是一套基于SpringBootmavenMybatishtml慢性病报销系统,主要针对计算机相关专业的正在做bishe的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目可以直接作为bishe使用。 项目都经过严格调试&a…

【数据结构(六)】排序算法介绍和算法的复杂度计算(1)

文章目录 1. 排序算法的介绍1.1. 排序的分类 2. 算法的时间复杂度2.1. 度量一个程序(算法)执行时间的两种方法2.2. 时间频度2.2.1. 忽略常数项2.2.2. 忽略低次项2.2.2. 忽略系数 2.3. 时间复杂度2.4. 常见的时间复杂度2.5. 平均时间复杂度和最坏时间复杂度 3. 算法的空间复杂度…

浅析AI智能视频监控技术在城市交通中的作用及意义

城市交通作为整个城市的整体脉络,每天都发挥着重要作用,为了最大程度地避免城市交通堵塞、提高城市交通效率,智能视频监控系统发挥了重要作用。具体表现在以下几个方面: 1、交通违规监管:TSINGSEE青犀智能视频监控系统…

软件开发代码审核制度

建立软件代码审核制度是确保代码质量和团队协作的重要步骤。以下是建立有效的软件代码审核制度的一些建议,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.制定代码审核准则: 明确定义代…

【C/PTA —— 15.结构体2(课内实践)】

C/PTA —— 15.结构体2&#xff08;课内实践&#xff09; 7-1 计算职工工资7-2 计算平均成绩7-3 找出总分最高的学生7-4 通讯录的录入与显示 7-1 计算职工工资 #include<stdio.h> #include<stdlib.h> typedef struct GZ {char name[6];double j;double f;double z;…

如何将 MySQL 数据库转换为 SQL Server

本文解释了为什么组织希望将其 MySQL 数据库转换为 Microsoft SQL 数据库。本文接着详细介绍了尝试转换之前需要记住的事项以及所涉及的方法。专业的数据库转换器工具将帮助您快速将 MySQL 数据库记录转换为 MS SQL Server。 在继续之前&#xff0c;我们先讨论一下 MySQL 到 M…

React/Vue/Svelte 前端项目中开始使用TailwindCSS

背景 TailwindCSS 近年来在前端圈非常流行&#xff0c;它摆脱了原有的CSS限制&#xff0c;以灵活实用为卖点&#xff0c;用户通过各种class组合即可构建出漂亮的用户界面。对于初学者而言&#xff0c;可能需要一些上手成本&#xff0c;一旦掌握实用技巧后&#xff0c;Tailwind…

TCP通信

第二十一章 网络通信 本章节主要讲解的是TCP和UDP两种通信方式它们都有着自己的优点和缺点 这两种通讯方式不通的地方就是TCP是一对一通信 UDP是一对多的通信方式 接下来会一一讲解 TCP通信 TCP通信方式呢 主要的通讯方式是一对一的通讯方式&#xff0c;也有着优点和缺点…

QQ录屏怎么录声音,如何解决声音录制问题?

在数字化时代&#xff0c;qq不仅是我们日常沟通的工具&#xff0c;还提供了强大的录屏功能&#xff0c;让用户能够轻松捕捉屏幕上的精彩瞬间。然而&#xff0c;很多用户可能会困惑于qq录屏怎么录声音。在本文中&#xff0c;我们将详细介绍如何通过QQ录屏功能录制屏幕及声音&…

【C/PTA —— 15.结构体2(课外实践)】

C/PTA —— 15.结构体2&#xff08;课外实践&#xff09; 7-1 一帮一7-2 考试座位号7-3 新键表输出7-4 可怕的素质7-5 找出同龄者7-6 排队7-7 军训 7-1 一帮一 #include<stdio.h> #include<string.h>struct student {int a;char name[20]; };struct student1 {int …

JavaWeb-HTTP协议

1. 什么是HTTP协议 HTTP超文本传输协(Hyper Text transfer protocol)&#xff0c;是一种用于用于分布式、协作式和超媒体信息系统的应用层协议。它于1990年提出&#xff0c;经过十几年的使用与发展&#xff0c;得到不断地完善和扩展。HTTP 是为 Web 浏览器与 Web 服务器之间的…