做网站公司常熟/百度网络科技有限公司

做网站公司常熟,百度网络科技有限公司,那种网站后台最好,网站怎么申请微信支付接口应用层协议HTTP 引言 应用层协议是程序员自己制定的,但是良好的协议是保证网络通信的基础,前代的计算工程师已经帮助我们制定了一些很好用的应用层协议,http(hybertext transfer protocol)(超文本传输协议)就是其中之一。 http协议是客户端…

应用层协议HTTP

引言

应用层协议是程序员自己制定的,但是良好的协议是保证网络通信的基础,前代的计算工程师已经帮助我们制定了一些很好用的应用层协议,http(hybertext transfer protocol)(超文本传输协议)就是其中之一。
http协议是客户端和服务器之间通信的基础,客户端通过HTTP协议像服务器发送请求,服务器收到请求之后处理并返回响应。HTTP协议是一个无连接,无状态的协议,每次请求都需要建立新的连接,服务器不会保存客户端的状态的信息。

URL

俗称网址

URL(Uniform Resource Locator,统一资源定位符)是用于在互联网上定位资源的字符串。它是我们访问网页、下载文件、调用 API 等操作时使用的地址。URL 是 URI(统一资源标识符)的一种具体形式。

一个完整的url一般如下

协议://用户名:密码@子域名.域名.顶级域名:端口号/路径/文件名?查询参数#片段
https://john:password@www.example.com:8080/path/to/page.html?search=query#section1
协议:https域名:www.example.com端口:8080路径:/path/to/page.html查询参数:search=query片段:section1

URL编码

  • URL 中只能包含特定字符(字母、数字和少数符号)。
  • 其他字符(如空格、中文等)需要通过 URL 编码 转换为 % 开头的十六进制值。

示例:

空格编码为 %20

中文“你好”编码为 %E4%BD%A0%E5%A5%BD

HTTP请求的格式

HTTP请求格式

  • 首行 : 方法 + URL + 版本
  • Header: 请求的属性,冒号分割键值对,\r\n最为分隔符,遇到空行表示结束
  • Body允许为空,如果Body不为空,Header中会有Content-lenth字段标记Body的长度
    在这里插入图片描述

HTTP相应的格式

在这里插入图片描述

  • 首行是HTTP版本 + 状态码 + 状态码描述
  • 后面就是参数报头
  • 换行符分隔内容和正文
  • 正文

HTTP请求的方法

就是HTTP请求中的第一个字段
在这里插入图片描述
在日常中最常见的就是GET和POST两种方法

GET方法

用途: 用于请求 URL 指定的资源。
示例: GET /index.html HTTP/1.1
特性: 指定资源经服务器端解析后返回响应内容。
在后端中我们前端的文件,一般存储在wwwRoot为根的目录下,比如/index.html就是请求wwwRoot/index.html这个文件,我们将index.html中的字符填充进入Response中的body中
浏览器就能正确的识别我们的前端文件,然后就是以图形化界面展示给用户。

POST方法

用途: 用于传输实体的主体, 通常用于提交表单数据。
示例: POST /submit.cgi HTTP/1.1
特性: 可以发送大量的数据给服务器, 并且数据包含在请求体中。
form 表单: https://www.runoob.com/html/html-forms.html

状态码 + 状态描述

在这里插入图片描述
状态码是是一个比较大的话题,想要比较深入了解所有的状态码的相关的情况,可以自己去搜索

HTTP中常见的header

请求头(Request Headers)

  • Host: 指定服务器域名和端口号。

  • User-Agent: 客户端信息,如浏览器类型和操作系统。

  • Accept: 客户端可接受的 MIME 类型。

  • Accept-Language: 客户端可接受的语言。

  • Accept-Encoding: 客户端可接受的内容编码,如 gzip。

  • Authorization: 包含认证信息,如 Bearer Token。

  • Content-Type: 请求体的 MIME 类型,如 application/json。

  • Content-Length: 请求体的大小(字节)。

  • Cookie: 包含客户端发送的 cookie。

  • Referer: 请求来源的 URL。

  • Cache-Control: 缓存指令,如 no-cache。

  • Connection: 控制连接状态,如 keep-alive。

响应头(Response Headers)

  • Content-Type: 响应体的 MIME 类型,如 text/html。

  • Content-Length: 响应体的大小(字节)。

  • Content-Encoding: 响应体的编码方式,如 gzip。

  • Set-Cookie: 服务器设置的 cookie。

  • Cache-Control: 缓存指令,如 max-age=3600。

  • Expires: 响应过期时间。

  • Last-Modified: 资源最后修改时间。

  • ETag: 资源唯一标识符,用于缓存验证。

  • Location: 重定向目标 URL。

  • Server: 服务器软件信息。

  • Access-Control-Allow-Origin: 允许跨域请求的源。

  • WWW-Authenticate: 要求客户端进行认证。

通用头(General Headers)

  • Date: 消息生成的日期和时间。

  • Connection: 控制连接状态,如 keep-alive。

  • Transfer-Encoding: 传输编码方式,如 chunked。

总结

应用层协议本来需要程序员自己去指定,但是HTTP等良好的协议值得我们程序员进行学习其中的思想或者直接作为项目协议进行利用。

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

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

相关文章

uniapp 系统学习,从入门到实战(四)—— 页面与路由管理

​ 全篇大概 2700 字(含代码),建议阅读时间 20min 在跨平台开发中,高效的路由管理直接影响用户体验和开发效率。本文将深入探讨uniapp的页面创建、路由跳转、参数传递和生命周期管理,助您构建流畅的多端应用。 📚 目录 页面创建…

BOOST电路设计

目录 1电路模型 2器件选型 2.1设计需求 2.2参数计算 2.2.1电感L计算 2.2.2电容计算 2.2.3电阻计算 3仿真测试 4参数测试 4.1负载调整率 4.2电容测试 4.3电感测试 5实际应用 1电路模型 Boost升压电路,可以工作在电流断续工作模式(DCM)和电流连续工作模式(CCM)。CCM工…

miqiu的分布式锁(二):实战——用JMeter验证JVM锁能否解决MySQL超卖问题

miqiu的分布式锁二:实战——用JMeter验证JVM锁能否解决MySQL超卖问题 实验背景 在秒杀场景中,超卖问题是典型的并发编程挑战。本文通过JMeter压测工具,验证基于JVM的两种锁机制(synchronized/ReentrantLock)对MySQL库…

初阶数据结构(C语言实现)——2算法的时间复杂度和空间复杂度

目录 本节目标1. 算法效率1.1 如何衡量一个算法的好坏1.2 算法的复杂度 2.时间复杂度2.1 时间复杂度的概念2.1.1 入门习题2.1.2 进阶习题 2.2 常见时间复杂度 3. 空间复杂度3.1 常见空间复杂度 本节目标 算法效率时间复杂度空间复杂度常见时间复杂度以及复杂度oj练习 1. 算法…

排序算法(3):

这是我们的最后一篇排序算法了,也是我们的初阶数据结构的最后一篇了。 我们来看,我们之前已经讲完了插入排序,选择排序,交换排序,我们还剩下最后一个归并排序,我们今天就讲解归并排序,另外我们还…

AI智能体与大语言模型:重塑SaaS系统的未来航向

在数字化转型的浪潮中,软件即服务(SaaS)系统一直是企业提升效率、优化业务流程的重要工具。随着AI智能体和大语言模型(LLMs)的迅速发展,SaaS系统正迎来前所未有的变革契机。本文将从AI智能体和大语言模型对…

AOP进阶-03.切入点表达式-execution

一.切入点表达式-execution 访问修饰符(public/private等),包名.类名.,throws 异常都可以省略,但是建议包名.类名.不要省略,否则的话匹配范围太大影响程序执行效率。 *主要用来匹配单个参数,通配任意返回值、包名、类…

NLP09-加强1-对比SVM

支持向量机(SVM) (一)导入 SVM 相关库 (二) 修改模型初始化 (三) 比较 朴素贝叶斯分类器 SVM分类器 支持向量机(SVM) 代码修改基于NLP09-朴素贝叶斯问句…

DeepSeek 开源了 DeepEP

DeepSeek又开源了一个超强技术:DeepEP通信库。实现了MOE之间的通信,性能更强了! DeepEP作为全球首个专为MoE(专家混合)模型训练和推理量身定制的EP(专家并行)通信库,其诞生标志着通…

【C语言】指针笔试题

前言:上期我们介绍了sizeof与strlen的辨析以及sizeof,strlen相关的一些笔试题,这期我们主要来讲指针运算相关的一些笔试题,以此来巩固我们之前所学的指针运算! 文章目录 一,指针笔试题1,题目一…

电脑键盘知识

1、键盘四大功能区 1. 功能区 2. 主要信息输入区 3. 编辑区 4. 数字键盘区 笔记本电脑键盘的功能区,使用前需先按Fn键 1.1、功能区 ESC:退出 F1:显示帮助信息 F2:重命名 F4:重复上一步操作 F5:刷新网页 …

Spring MVC框架六:Ajax技术

精心整理了最新的面试资料,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 简介 jQuery.ajax Ajax原理 结语 创作不易,希望能对大家给予帮助 想要获取更多资源? 点击链接获取

在 Vue 组件中,如何确认父组件在 add 模式下传入 value 的情况及其对子组件 getProducts() 方法的触发影响?

文章目录 父组件中 <ave-form> 的使用add 模式下触发逻辑value 的传入情况是否触发 getProducts()&#xff1f; 验证 add 模式下 getProducts() 是否触发结论&#xff1a; 检查父组件传入 value 的完整情况如何明确知道父组件传入的 value最终回答 父组件 index.vue子组件…

第十四届蓝桥杯Scratch11月stema选拔赛真题——小猫照镜子

编程实现&#xff1a; 小猫照镜子。(背景非源素材) 具体要求&#xff1a; 1). 运行程序&#xff0c;角色、背景如图所示&#xff1b; 完整题目可点击下方链接查看&#xff0c;支持在线编程~ 小猫照镜子_scratch_少儿编程题库学习中心-嗨信奥https://www.hixinao.com/tiku/s…

python的列表和元组别再傻傻分不清啦

目录 什么是下标&#xff1a; 正数索引&#xff1a;正数索引从左到右&#xff0c;从 0 开始。 负数索引&#xff1a;负数索引从右到左&#xff0c;从 -1 开始。 切片&#xff08;slice&#xff09;&#xff1a;除了单个元素&#xff0c;Python还支持通过切片访问序列的子集。…

在 compare-form.vue 中添加 compareDate 隐藏字段,并在提交时自动填入当前时间

在 compare-form.vue 中添加 compareDate 隐藏字段&#xff0c;并在提交时自动填入当前时间。 提交表单时存入的对象是FakeRegistration&#xff0c;这个对象里面有compareDate字段&#xff0c;刚好表格查询的对象也是FakeRegistration&#xff0c;所以表格展示的时间就是刚才…

Windows 11【1001问】如何安装Windows 11

紧接上篇内容&#xff0c;本文详细介绍了从准备工作到具体安装步骤的完整流程&#xff0c;帮助用户顺利完成Windows 11系统的安装。内容涵盖了ISO镜像文件的下载与校验、启动U盘的制作、硬件兼容性检查&#xff0c;以及BIOS/UEFI设置和系统安装过程中的关键步骤。通过逐步指导&…

【玩转 Postman 接口测试与开发2_020】(完结篇)DIY 实战:随书示例 API 项目本地部署保姆级搭建教程(含完整调试过程)

《API Testing and Development with Postman》最新第二版封面 文章目录 最新版《Postman 接口测试与开发实战》示例 API 项目本地部署保姆级搭建教程1 前言2 准备工作3 具体部署3.1 将项目 Fork 到自己名下3.2 创建虚拟环境并安装依赖3.3 初始运行与项目调试 4 示例项目的用法…

若依 ruoyi-vue 根据角色切换路由菜单权限 SAAS

后端根据角色查询相应的菜单&#xff08;角色对应管理的系统&#xff09; /*** 获取路由信息根据角色&#xff08;系统类型&#xff09;** return 路由信息*/GetMapping("getRoutersBySystemType")public AjaxResult getRoutersBySystemType(String systemType) {Lon…

2024最新版鸿蒙纯血原生应用开发教程文档丨学习ArkTS语言-基本语法

ArkTS是HarmonyOS的主要应用开发语言&#xff0c;在TypeScript基础上进行了扩展&#xff0c;保留了其基本风格&#xff0c;并通过增强静态检查和分析来提高程序的稳定性和性能。本教程将帮助开发者掌握ArkTS的核心功能、语法及最佳实践&#xff0c;以便高效地构建高性能移动应用…