java http

超文本传输协议

超文本/html

工作方式

get / url 请求获取相应报文

http://xxxxxxxxxxxx.com/user?xxx = xxx

协议类型 - 服务器地址 -路径 path

请求格式:

head / body

path路径进行处理资源

等同于报文请求:

GET: /users HTTP/1.1

Host:api.github.com

响应报文

请求方式:

GET (获取,一般没有body) 幂等

body体 GET,Retrofit则会报错

POST(增加/修改/删除数据)

有body体    幂等

name =xxx& xxx= xxx

DELETE(删除数据)  幂等

没有body

PUT(修改数据)

有body体 同POST  都是幂等

HEAD(获取信息):

没有Body

状态码:

1xx : 100 临时消息 ,101协议可切换 ,102 通过Upgrade : h2c 判断返回码 

2XX: 200请求成功 status = 200 OK,   201创建成功

3XX: 301 重定向 资源迁移 会跳转到headrs的 Location的地址,

4XX: 服务端错误,404资源未找到, 401未授权

5XX: 500 服务器错误

Http状态码

Http Status Code

Http状态码含义中文说明

100

100 Continue100

请继续请求

101

101 Switching Protocols101

请切换协议

102

102 Processing102

将继续执行请求

200

200 OK200

请求成功

201

201 Created201

请求已被接受,等待资源响应

202

202 Accepted202

请求已被接受,但尚未处理

203

203 Non-Authoritative Information203

请求已成功处理,结果来自第三方拷贝

204

204 No Content204

请求已成功处理,但无返回内容

205

205 Reset Content205

请求已成功处理,但需重置内容

206

206 Partial Content206

请求已成功处理,但仅返回了部分内容

207

207 Multi-Status207

请求已成功处理,返回了多个状态的XML消息

208

208 Already Reported208

响应已发送

226

226 IM Used226

已完成响应

300

300 Multiple Choices300

返回多条重定向供选择

301

301 Moved Permanently301

永久重定向

302

302 Found302

临时重定向

303

303 See Other303

当前请求的资源在其它地址

304

304 Not Modified304

请求资源与本地缓存相同,未修改

305

305 Use Proxy305

必须通过代理访问

306

306 (已废弃Switch Proxy306

(已废弃请切换代理)

307

307 Temporary Redirect307

临时重定向,同302

308

308 Permanent Redirect308

永久重定向,且禁止改变http方法

400

400 Bad Request400

请求错误,通常是访问的域名未绑定引起

401

401 Unauthorized401

需要身份认证验证

402

402 Payment Required

-

403

403 Forbidden403

禁止访问

404

404 Not Found404

请求的内容未找到或已删除

405

405 Method Not Allowed405

不允许的请求方法

406

406 Not Acceptable406

无法响应,因资源无法满足客户端条件

407

407 Proxy Authentication Required407

要求通过代理的身份认证

408

408 Request Timeout408

请求超时

409

409 Conflict409

存在冲突

410

410 Gone410

资源已经不存在(过去存在)

411

411 Length Required411

无法处理该请求

412

412 Precondition Failed412

请求条件错误

413

413 Payload Too Large413

请求的实体过大

414

414 Request-URI Too Long414

请求的URI过长

415

415 Unsupported Media Type415

无法处理的媒体格式

416

416 Range Not Satisfiable416

请求的范围无效

417

417 Expectation Failed417

无法满足的Expect

418

418 I’m a teapot418

愚人节笑话

421

421 There are too many connections from your internet address421

连接数超限

422

422 Unprocessable Entity422

请求的语义错误

423

423 Locked423

当前资源被锁定

424

424 Failed Dependency424

当前请求失败

425

425 Unordered Collection425

未知

426

426 Upgrade Required426

请切换到TLS/1.0

428

428 Precondition Required428

请求未带条件

429

429 Too Many Requests429

并发请求过多

431

431 Request Header Fields Too Large431

请求头过大

449

449 Retry With449

请重试

451

451 Unavailable For Legal Reasons451

访问被拒绝(法律的要求)

499

499 Client Closed Request499

客户端主动关闭了连接

500

500 Internal Server Error500

服务器端程序错误

501

501 Not Implemented501

服务器不支持的请求方法

502

502 Bad Gateway502

网关无响应

503

503 Service Unavailable503

服务器端临时错误

504

504 Gateway Timeout504

网关超时

505

505 HTTP Version Not Supported505

服务器不支持的HTTP版本

506

506 Variant Also Negotiates506

服务器内部配置错误

507

507 Insufficient Storage507

服务器无法存储请求

508

508 Loop Detected508

服务器因死循环而终止操作

509

509 Bandwidth Limit Exceeded509

服务器带宽限制

510

510 Not Extended510

获取资源策略未被满足

511

511 Network Authentication Required511

需验证以许可连接

599

599 Network Connect Timeout Error599

网络连接超时

Header:

元数据

通过请求的url 解析dns地址

Host:给主机判断,请求哪个子服务器等

域名可以通过DNS解析,然后放到Host请求

Content-Length = number  数据长度,如果是二进制则不会准确,\n则会切断后面的数据,需要指定content-Length

Content-Type / text/html

ContentType-JSON ..

请求和相应JSON报文:

Retrofit:

FormBody  表单,对应Retrofit FormUrlEncoded,通过Field

类似于url拼接格式

FormBoundary 分割线,将多个数据进行切分,上传文件,或者二进制文件,可以通过这种方式

Retrofit 实例

不可以同FormEncoded同时使用,都是Form表单提交

image-jpeg

上传,下载文件, 上传/ 相应报文:

Chunked Transfer Encoding分快传输编码:

Location:

OkHttp自动进行重定向到返回的location的重定向

User-Agent 用户代理

Range / Accept-Range分段加载,通过Content-Length判断总大小,Content_Range bytes xx-xx /xx加载的当前进度 / 总进度

可以进行断点续传,多线程加载

其他HEADED  值

Cache 缓存:

 缓存和缓冲

no-cache 不缓存

no-store

max-age

Last-Modufied  最后请求的一次标签,用于判断鉴定是否最新数据

Etag 指纹

REST:

架构风格

server 服务器架构 cs / bs

statelessness 无状态

cachebulity:可缓存

Layered :可选项

Code On:

Uninform interface:统一接口:

描述资源

资源修改

自描述信息 Content-Type

超媒体 以连接方法查看资源

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

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

相关文章

京东数据分析平台(京东运营数据采集):2023年10月京东白酒品牌销售排行榜

鲸参谋监测的京东平台10月份白酒市场销售数据已出炉! 鲸参谋数据显示,10月份,京东平台上白酒的销量为340万,环比增长约16%,同比增长约37%;销售额为28亿,环比增长约20%,同比增长约122…

如何在Ubuntu的Linux系统中安装MySQL5.7数据库

前往MySQL数据库官网链接地址下载5.7数据库。 MySQL :: Download MySQL Community Server (Archived Versions)使用ssh的可视化工具将下载的mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz文件上传到Linux服务器,并解压文件 tar -zxvf mysql-5.7.40-linux-glibc2.12-x…

基于蛇优化算法优化概率神经网络PNN的分类预测 - 附代码

基于蛇优化算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于蛇优化算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于蛇优化优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神经网络…

大数据预处理技术

文章目录 前言 大数据技术成为前沿专业 也是现在甚至未来的朝阳产业,大数据有分别是 数据预处理 数据存储 大数据处理和分析 数据可视化 部分组成 ,大数据行业有数据则称王,大数据的核心是数据本身 怎么获取有价值的数据呢?本章讲…

Cent OS 8.2 安装 自定义硬盘 固定IP VMware

时间:20231122 环境:win11 、VMware 16 pro、Cent OS 8.2 说明:自定义安装方法、自定义硬盘分区、固定IP且能联网 1、使用自定义的方式安装虚拟机 此处选择典型,则会自动安装系统,无法自定义硬件以及配置信息 选择…

CCF CSP认证 历年题目自练Day49

题目一 此题用暴力枚举做过(80分)现如今终于用二维前缀和做到满分。 试题编号: 202309-2 试题名称: 坐标变换(其二) 时间限制: 2.0s 内存限制: 512.0MB 问题描述: 问题…

NFC:应用场景广泛的短距离通信技术

NFC:应用场景广泛的短距离通信技术 一、NFC 技术介绍1.1 NFC 技术应用场景1.2 NFC 技术优点1.3 NFC 工作原理 二、NFC 开发2.1 NFC 应用开发流程2.2 NFC 读取和写入2.3 NFC 读写功能示例 三、总结 一、NFC 技术介绍 NFC (Near-field communication&…

分类预测 | Matlab实现基于PSO-PNN粒子群算法优化概率神经网络的数据分类预测

分类预测 | Matlab实现基于PSO-PNN粒子群算法优化概率神经网络的数据分类预测 目录 分类预测 | Matlab实现基于PSO-PNN粒子群算法优化概率神经网络的数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现基于PSO-PNN粒子群算法优化概率神经网络的数据…

hadoop在本地创建文件,然后将文件拷贝/上传到HDFS

1.要$cd {对应目录}进入到对应目录,一般为 cd /usr/local/hadoop/ 2.创建文件,$sudo gedit {文件名},例 sudo gedit test.txt 然后在弹出的txt文件输入内容,点击右上角的保存之后,关闭即可。 3.拷贝本地文件到HDF…

RPG项目_UI登录

首先创建一个项目 将资源包导进Resources文件夹 创建一个Scripts脚本文件夹 然后再对Scripts脚本文件夹分门别类 导入UI资源包 创建一个Image 按住Alt 选择右下角 image就会覆盖整个面板 修改image名字为BG 将image图片放置背景栏 再创建一个image 改名为MainMenu 修改MainMenu…

Linux上通过SSL/TLS和start tls连接到LDAP服务器

一,大致流程。 1.首先在Linux上搭建一个LDAP服务器 2.在LDAP服务器上安装CA证书,服务器证书,因为SSL/TLS,start tls都属于机密通信,需要客户端和服务器都存在一个相同的证书认证双方的身份。3.安装phpldapadmin工具&am…

一点DETR学习

DETR: 主要是为了学习query。 主要从两个方面:加偏好和缩短序列长度

〖大前端 - 基础入门三大核心之JS篇㊶〗- DOM事件传播和事件监听方法addEventListener()

说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费,如需要项目实战或者是体系化资源,文末名片加V!作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 从事过全栈研发、产品经理等工作&#xf…

ABAP调用Https接口 Ssl证书导入

ABAP调用Https接口 Ssl证书导入 一、证书导入 谷歌浏览器打开对方系统URL地址,下载SSL Server certificate,步骤如下: 浏览器打开要导出certificate(证书)的网站,点击这个小锁的图标: 点击连接是安全的后面小播放按钮 点击证…

系列七、ThreadLocal为什么会导致内存泄漏

一、ThreadLocal为什么会导致内存泄露 1.1、ThreadLocalMap的基本结构 ThreadLocalMap是ThreadLocal的内部类,没有实现Map接口,用独立的方式实现了Map的功能,其内部的Entry也是独立实现的。源码如下: 1.2、ThreadLocal引用示意图…

分享一篇很就以前的文档-VMware Vsphere菜鸟篇

PS:由于内容是很久以前做的记录,在整理过程中发现了一些问题,简单修改后分享给大家。首先ESXI节点和win7均运行在VMware Workstation上面,属于是最底层,而新创建的CentOS则是嵌套后创建的操作系统,这点希望…

MySQL--慢查询(一)

1. 查看慢查询日志是否开启 show variables like slow_query%; show variables like slow_query_log; 参数说明: 1、slow_query_log:这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句。 2、long_query_time:当SQL语句执行…

CST同轴馈电步骤

CST同轴馈电步骤 算例1. 同轴内芯2. 填充材料3. 外皮4. GND减去一个圆形,使EMWAVE可以通过5. 添加端口6. 结果比较 算例 cst模型库中的一个圆贴片 1. 同轴内芯 2. 填充材料 他这里直接使用和介质基板一样的材料并且进行了合并,我就懒得再改了&#x…

java代码调用twitter-api用例实战

一、申请twitter开发者账号 首先先申请twitter开发者免费的API,要填写申请的内容,放心大胆地写,申请完,会提供免费的API接口。 以下是我申请到的三个免费API 申请完开始进行测试调用。 读官方文档账户认证那块:https…

《安富莱嵌入式周报》第327期:Cortex-A7所有外设单片机玩法LL/HAL库全面上线,分享三款GUI, PX5 RTOS推出网络协议栈,小米Vela开源

周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 1、2023 Hackaday大赛胸牌开源 Vectorscope-main.zip (66.83MB) GitHub - Hack-a-Day/Vectorscope: Vectorscope badg…