【接口】HTTP(1)|请求|响应

1、概念

Hyper Text Transfer Protocol(超文本传输协议)用于从万维网(就是www)服务器传输超文本到本地浏览器的传送协议。

HTTP协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输HTML页面的内容。默认端口是80。

HTTP是基于请求与响应模式的、无状态的、应用层的协议。

TCP——传输层协议

IP——网络层协议

2、HTTP请求报文(报文===请求数据

HTTP请求报文主要 由请求行请求头部空一行请求体 部分组成

请求行:请求方式 + url + 协议

2.1 请求方法(Request Method):

请求方法备注
POST创建资源-增加
GET获取资源-查询
PUT替换资源-修改
DELETE删除资源
HEAD获取服务器响应消息头
PATCH更新资源,替换部分资源

2.2 URL(Uniform Resource Locator):

统一资源定位符,用于描述网上的资源

格式:schema://host[:port]/path/.../[?query-string]

scheme:协议,如http,https,ftp等

host:域名或者IP地址 DNS会将域名转换成IP地址

port:端口

path:资源路径

query-string:发送的参数

示例:https://www.baidu.com/s?wd=接口

2.3 请求头

请求头描述
Host主机ip地址或域名
User-Agent客户端相关信息,比如操作系统、浏览器等信息,用户代理
Accept指定客户端接收信息类型,如:image/jpg,text/html,application/json 表示任意类型的数据
Accept-Charset客户端接受的字符集,如gb2312、iso-8859-1
Accept-Encoding可接受的内容编码,如gzip——编码方式
Accept-Language接受的语言,如Accept-Language:zh-cn
Authorization客户端提供给服务端,进行权限认证的信息
Cookie携带的cookie信息
Referer当前文档的URL,即从哪个链接过来的
Content-Type请求体内容类型,如Content-Type: application/x-www-form-urlencoded
Content-Length数据长度
Cache-Control缓存机制,如Cache-Control:no-cache
Pragma防止页面被缓存,和Cache-Control:no-cache作用一样
X-Requested-With如果 requestedWith 为 null,则为同步请求; 如果 requestedWith 为 XMLHttpRequest 则为 Ajax 异步请求。

 3、HTTP响应报文

HTTP响应报文主要 由状态行响应头部空一行响应正文 部分组成

3.1 状态码

状态码(Status Code ):用以表示网页服务器HTTP响应状态的3位数字代码

状态码描述
1XX请求已接受待处理
2XX请求成功并返回
3XX重定向相关,请求资源位置发生了变化
4XX客户端发送请求错误
5XX服务器端错误

3.2 响应头

响应头描述
ServerHTTP服务器的软件信息
Date响应报文的时间
Expires指定缓存过期时间
Set-Cookie种Cookie
Last-Modified资源最后修改时间
Content-Type响应的类型和字符集,如:Content-Type: text/html; charset=utf-8
Content-Length内容长度
Connection如Keep-Alive,表示保持tcp连接不关闭,不会永久保持连接,服务器可设置
Location指明重定向的位置,新的URL地址,如304的情况

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

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

相关文章

详解python中的迭代

如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。 在Python中,迭代是通过for ... in来完成的,而很多语言比如C语言,迭代list是通过下标完…

4月4号总结

java学习 一.接口 1.介绍 定义接口需要使用到关键字interface去定义接口。 格式如下: 类与接口的关系不是继承,而是实现,用关键字 implements ,格式如下: 这个类去实现接口,其中的关系就相当于&#xf…

基于Socket简单的UDP网络程序 vs 简单的TCP网络程序

⭐小白苦学IT的博客主页 ⭐初学者必看:Linux操作系统入门 ⭐代码仓库:Linux代码仓库 ❤关注我一起讨论和学习Linux系统 1.前言 网络编程前言 网络编程是连接数字世界的桥梁,它让计算机之间能够交流信息,为我们的生活和工作带来便利…

蓝桥杯python组真题练习1

目录 1.单词分析 2.成绩统计 3.门牌制作 4.卡片 5.跑步训练 6.蛇形填数 7.时间显示 1.单词分析 1.单词分析 - 蓝桥云课 (lanqiao.cn) s list(input()) maxx 0 for i in s:num s.count(i)if num>maxx:sm imaxx numif num maxx:if ord(sm)>ord(i):sm i print…

考研经验与科目学习建议

前言 24考研刚刚结束,成功上岸,回想起刚开始的时候的迷茫,加上因为迷茫而被卖书的坑的几百块钱。感慨万千,所以决定写下这篇文章。回想当时,因为笔者零基础,加上作为一名专升本的学生,惶恐因为…

如何锁定鼠标光标在水平、垂直或45度对角线模式下移动 - 鼠标水平垂直移动锁定器简易教程

在我们进行精细工作例如如创建图标和图形设计时,通常需要我们对鼠标移动进行精确控制。一旦向左或向右轻微移动,都可能导致设计出错。若出现不必要的错误,我们极有可能不得不重新开始,这会令人感到非常沮丧。这种情况下&#xff0…

SAP ERP实施有几个阶段?工博科技带来SAP系统实施项目全流程介绍

根据SAP实施方法论,SAP系统实施流程一共分为五个主要项目阶段:项目准备、蓝图设计、系统实现、上线准备、上线后支持。在项目启动前,双方必须对项目实施过程中各阶段所涉及的任务与交付件以及项目完成标志达成共识,各阶段项目交付…

微信小程序 python+django口腔牙科问诊系统 springboot设计与实现_1171u

口腔助手”小程序主要有管理员,医生和用户三个功能模块。以下将对这三个功能的作用进行详细的剖析。 本文通过采用B/S架构,uniapp框架、MySQL数据库,结合国内“口腔助手”管理现状,开发了一个基于微信小程序的“口腔助手”小程序。…

TCP客户端及服务器端开发实践

一、TCP客户端及服务器端开发实践 1、TCP网络应用程序开发分类 ① TCP客户端应用程序开发 ② TCP服务器端应用程序开发 客户端程序是指运行在用户设备上的程序,服务端程序是指运行在服务器设备上的程序,专门为客户端提供数据服务。那如何记忆呢&…

软考--软件设计师(软件工程总结1)

目录 1.定义 2.软件生存周期 3.软件过程(即软件开发中遵循的一系列可预测的步骤) ​编辑4.软件开发模型 5.需求分析(软件需求分析,系统需求分析或需求分析工程) 6. 需求工程 7.系统设计 8.系统测试 1.定义 软件…

【开发环境】Mac 安装 Visual Studio Code ( VSCode 简介 | 下载 VSCode | 安装 VSCode | 安装中文语言包 )

文章目录 一、Visual Studio Code 简介二、MAC 安装 Visual Studio Code1、下载 Visual Studio Code2、安装 Visual Studio Code3、安装中文语言包4、编辑 html 并运行 一、Visual Studio Code 简介 Visual Studio Code 简称 VSCode , 是 微软 开发的一款 轻量级 / 跨平台 的代…

腾讯云服务器4核8g配置好不好?用它干啥使?

腾讯云4核8G服务器多少钱?腾讯云4核8G轻量应用服务器12M带宽租用价格646元15个月,活动页面 txybk.com/go/txy 活动链接打开如下图所示: 腾讯云4核8G服务器优惠价格 这台4核8G服务器是轻量应用服务器,详细配置为:轻量4核…

【Pt】马灯贴图绘制过程 05-铁丝与渲染出图

目录 效果 步骤 一、基本材质 二、浮尘 三、渲染 效果 步骤 一、基本材质 CtrlAlt鼠标右键选中指定的纹理集 在智能材质中将“Iron Forged Old”加入图层 将智能材质“Iron Forged Old”文件夹打开,将图层“Base”和“Edge”的基本颜色改暗一点 二、浮尘 新…

746.Leetcode 使用最小花费爬楼梯

746.Leetcode 使用最小花费爬楼梯 给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯…

BUUCTF-MD5

BUUCTF-MD5 1 注意:得到的 flag 请包上 flag{} 提交 27120bd8-e273-4528-97a9-28dcebe236de.zip flag{admin1} e00cf25ad42683b3df678c61f42c6bdahttps://www.cmd5.com/

pycharm和Spyder多行注释快捷键

1.选取注释内容 2.pycharm:使用Ctrl/ 3.Spyder:使用Ctrl1 效果图

IDEA配置本地Maven(解决依赖下载缓慢)

1.下载Maven Maven下载页 根据需要选择下载其中一个,我选了zip格式的 将下载好的apache-maven-3.9.5解压到你想要的目录下 2.配置系统环境 设置系统环境变量 MAVEN_HOME 为安装路径的bin目录 变量名:MAVEN_HOME 变量值:写你的 apache-m…

Docker 哲学 - docker swarm

Docker Swarm 模式下的集群管理和服务恢复机制 Docker Swarm 是 Docker 的集群管理和编排功能。在 Swarm 模式下,你可以将多个 Docker 主机组合成一个虚拟主机,称为 Swarm 集群。Swarm 集群由一个或多个管理节点(manager nodes)和…

故障诊断 | 一文解决,GCN图卷积神经网络模型的故障诊断(Matlab)

效果一览 文章概述 故障诊断 | 一文解决,GCN图卷积神经网络模型的故障诊断(Matlab) 模型描述 GCN(Graph Convolutional Network)是一种基于图结构数据进行卷积操作的神经网络模型。它在处理图数据上展现了很好的性能,特别适用于节点分类、图分类和图生成等任务。 GCN模…

51入门之LED

目录 1.配置文件 2.点亮一个LED 2.1单个端口操作点亮单个LED 2.2整体操作点亮LED 3.LED闪烁 4.LED实现流水灯 4.1使用for循环和移位实现 4.1.1移位操作符 4.1.2使用移位操作和for循环实现 4.2使用移位函数实现LED流水灯 众所周知,任何一个硬件工程师…