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.pswp.cn/news/161663.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/161663.shtml
英文地址,請注明出處:http://en.pswp.cn/news/161663.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

京東數據分析平臺(京東運營數據采集):2023年10月京東白酒品牌銷售排行榜

鯨參謀監測的京東平臺10月份白酒市場銷售數據已出爐! 鯨參謀數據顯示,10月份,京東平臺上白酒的銷量為340萬,環比增長約16%,同比增長約37%;銷售額為28億,環比增長約20%,同比增長約122…

educoder中Hive綜合應用案例 — 學生成績查詢

第1關:計算每個班的語文總成績和數學總成績 ---------- 禁止修改 ----------drop database if exists mydb cascade;set hive.auto.convert.join = false; set hive.ignore.mapjoin.hint=false; ---------- 禁止修改 ---------- ---------- begin ---------- ---創建mydb數據…

如何在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…

總結vue框架中的鉤子函數

vue2.x生命周期鉤子函數 組件的生命周期分為3個階段: 掛載階段:beforeCreate、created、beforeMount、mounted,更新階段:beforeUpdate、updated,銷毀階段:beforeDestroy、destroyed beforeCreate beforeCreate() {// 初始化數據,并通過Object.defineProperty()和…

基于蛇優化算法優化概率神經網絡PNN的分類預測 - 附代碼

基于蛇優化算法優化概率神經網絡PNN的分類預測 - 附代碼 文章目錄 基于蛇優化算法優化概率神經網絡PNN的分類預測 - 附代碼1.PNN網絡概述2.變壓器故障診街系統相關背景2.1 模型建立 3.基于蛇優化優化的PNN網絡5.測試結果6.參考文獻7.Matlab代碼 摘要:針對PNN神經網絡…

大數據預處理技術

文章目錄 前言 大數據技術成為前沿專業 也是現在甚至未來的朝陽產業,大數據有分別是 數據預處理 數據存儲 大數據處理和分析 數據可視化 部分組成 ,大數據行業有數據則稱王,大數據的核心是數據本身 怎么獲取有價值的數據呢?本章講…

android 9 adb安裝過程學習(二)

一、PackageInstalllerService流程分析 下面來分析下 PackageInstallerService 中的邏輯,我們先來看看 PackageInstallerService 的創建,當然,這部分的邏輯是在開機的時候,這里我們再回顧下: 位置:./frame…

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 問題描述: 問題…

【Axure視頻教程】中繼器首行函數

今天教大家在Axure里如何使用中繼器首行函數,本視頻教程會先從中繼器首行函數的基礎講起,然后通過計算合計數、統計選中數、兩個中繼器選項聯動這3個案例更加深入的講解這這個函數的應用。注:該教程主要講解中繼器首行函數的用法,…

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&…

SM系列國密算法

一、概述 國產密碼算法(國密算法)是指國家密碼局認定的國產商用密碼算法,國密算法是提升國家密碼安全和數據安全的關鍵技術。 為了保障商用密碼的安全性,國家密碼局制定了一系列密碼標準,包括:SM1、SM2、S…

分類預測 | 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…

屏幕坐標轉換場景坐標并進行物體檢測

在 OpenSceneGraph 中,要將屏幕坐標轉換為當前場景坐標,并過濾出屏幕顯示范圍內的節點,可以通過以下步驟實現: 獲取屏幕坐標: 當用戶點擊或交互時,獲取鼠標點擊的屏幕坐標。 轉換屏幕坐標為世界坐標&#…

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(證書)的網站,點擊這個小鎖的圖標: 點擊連接是安全的后面小播放按鈕 點擊證…