HTTP相关—未完待续

HTTP相关RFC HTTP1.1 RFC7230 HTTPS RFC2818 HTTP/2 RFC7540 HTTP/3 draft-ietf-quic-http-33 阅读详情

HTTP状态码

**1 消息**
▪ 100 Continue
▪ 101 Switching Protocols
▪ 102 Processing
**2 成功**
▪**200 OK**   请求已成功,请求所希望的响应头或数据体将随此响应返回。出现此状态码是表示正常状态。
▪ 201 Created
▪ 202 Accepted
▪ 203 Non-Authoritative Information
▪ 204 No Content
▪ 205 Reset Content
▪ 206 Partial Content
▪ 207 Multi-Status
**3 重定向**
▪ 300 Multiple Choices
▪ 301 Moved Permanently
▪ 302 Move temporarily
▪ 303 See Other
▪ 304 Not Modified
▪ **305 Use Proxy** 被请求的资源必须通过指定的代理才能被访问。Location 域中将给出指定的代理所在的 URI 信息,接收者需要重复发送一个单独的请求,通过这个代理才能访问相应资源。只有原始服务器才能建立305响应。
▪ 306 Switch Proxy
▪ 307 Temporary Redirect
**4 请求错误**
▪ 400 Bad Request
▪ 401 Unauthorized
▪ 402 Payment Required
▪ 403 Forbidden
▪ **404** **Not Found**  请求失败,请求所希望得到的资源未被在服务器上发现。出现这个错误的最有可能的原因是服务器端没有这个页面或者是请求路径错误。
▪ 405 Method Not Allowed
▪ 406 Not Acceptable
▪ 407 Proxy Authentication Required
▪ 408 Request Timeout
▪ 409 Conflict
▪ 410 Gone
▪ 411 Length Required
▪ 412 Precondition Failed
▪ 413 Request Entity Too Large
▪ 414 Request-URI Too Long
▪ 415 Unsupported Media Type
▪ 416 Requested Range Not Satisfiable
▪ 417 Expectation Failed
▪ 421 too many connections
▪ 422 Unprocessable Entity
▪ 423 Locked
▪ 424 Failed Dependency
▪ 425 Unordered Collection
▪ 426 Upgrade Required
▪ 449 Retry With
▪ 451Unavailable For Legal Reasons
**5 服务器错误**
▪ **500 Internal Server Error**  服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器端的源代码出现错误时出现。
▪ 501 Not Implemented
▪ 502 Bad Gateway
▪ 503 Service Unavailable
▪ 504 Gateway Timeout
▪ 505 HTTP Version Not Supported
▪ 506 Variant Also Negotiates
▪ 507 Insufficient Storage
▪ 509 Bandwidth Limit Exceeded
▪ 510 Not Extended
▪ 600 Unparseable Response Headers

总结:

 HTTP 请求响应常见状态码
 100~199:表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程。
 200~299:表示成功接收请求并已完成整个处理过程。常用200
 300~399:为完成请求,客户需进一步细化请求。例如:请求的资源已经移动一个新地址、常用302(意味着你请求我,我让你去找别人),307和304(我不给你这个资源,自己拿缓存)
 400~499:客户端的请求有错误,常用404(意味着你请求的资源在web服务器中没有)403(服务器拒绝访问,权限不够)

HTTP建立连接和释放连接

这里写图片描述

为什么连接的时候是三次握手,关闭的时候却是四次握手?

因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,”你发的FIN报文我收到了”。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。

为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOSE状态?
虽然按道理,四个报文都发送完毕,我们可以直接进入CLOSE状态了,但是我们必须假象网络是不可靠的,有可以最后一个ACK丢失。所以TIME_WAIT状态就是用来重发可能丢失的ACK报文。

三次握手作用:
谢希仁著《计算机网络》第四版中讲:
“三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误”。主要目的防止server端一直等待,浪费资源。
eg:client发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达server。本来这是一个早已失效的报文段。但server收到此失效的连接请求报文段后,就误认为是client再次发出的一个新的连接请求。于是就向client发出确认报文段,同意建立连接。假设不采用“三次握手”,那么只要server发出确认,新的连接就建立了。由于现在client并没有发出建立连接的请求,因此不会理睬server的确认,也不会向server发送数据。但server却以为新的运输连接已经建立,并一直等待client发来数据。这样,server的很多资源就白白浪费掉了。采用“三次握手”的办法可以防止上述现象发生。例如刚才那种情况,client不会向server的确认发出确认。server由于收不到确认,就知道client并没有要求建立连接。”。

四次挥手作用:
在tcp连接握手时为何ACK是和SYN一起发送,这里ACK却没有和FIN一起发送呢。原因是因为tcp是全双工模式,接收到FIN时意味将没有数据再发来,但是还是可以继续发送数据。

中断连接端可以是Client端,也可以是Server端。

假设Client端发起中断连接请求,也就是发送FIN报文。Server端接到FIN报文后,意思是说”我Client端没有数据要发给你了”,但是如果你还有数据没有发送完成,则不必急着关闭Socket,可以继续发送数据。所以你先发送ACK,”告诉Client端,你的请求我收到了,但是我还没准备好,请继续你等我的消息”。这个时候Client端就进入FIN_WAIT状态,继续等待Server端的FIN报文。当Server端确定数据已发送完成,则向Client端发送FIN报文,”告诉Client端,好了,我这边数据发完了,准备好关闭连接了”。Client端收到FIN报文后,”就知道可以关闭连接了,但是他还是不相信网络,怕Server端不知道要关闭,所以发送ACK后进入TIME_WAIT状态,如果Server端没有收到ACK则可以重传。“,Server端收到ACK后,”就知道可以断开连接了”。Client端等待了2MSL后依然没有收到回复,则证明Server端已正常关闭,那好,我Client端也可以关闭连接了。Ok,TCP连接就这样关闭了!

http相关面试题 http2通过gzip与compress对头部进行压缩,并且在客户端与服务端各维护了一份头部索引表,只需要根据索引id就可以进行头部信息的传输,缩小了头部容量,间接提升了传输效率。:http1一个连接只能提交一个请求,而http2可以同时处理无数个请求,可以降低连接的占用数量,进一步提升网络的吞吐量。降低请求量:合并资源,减少 HTTP 请求数,minify / gzip 压缩,webP,lazyLoad。http 传输的数据都是未加密的,也就是明文的,设置了 SSL 协议来对 http 协议。 阅读详情

相关推荐

高云FPGA开发实战:手把手教你用ModelSim做功能仿真与时序分析(附Testbench写法)

本文详细介绍了高云FPGA开发中如何使用ModelSim进行功能仿真与时序分析,包括环境搭建、Testbench编写、波形调试和时序优化等实战技巧。通过具体案例和代码示例,帮助开发者掌握FPGA仿真验证的核心方法,提升设计可靠性。特别针对高云GW5A系列器件提供了专业的仿真库配置指南和时序分析策略。

weixin_30412167的博客 465

5XX-都是我的错

5XX,都是月亮惹得祸,怎么让我来背锅。老板来了,未完待续....

595

YOLOv11n-seg 实战指南:从训练到模型部署的完整流程

本文提供了YOLOv11n-seg实例分割模型从环境准备、数据标注到模型训练、验证及最终部署的完整实战指南。详细讲解了如何准备多边形掩码数据、配置关键训练参数、解读分割核心评估指标,并重点介绍了将模型导出为ONNX等格式进行部署的流程与优化技巧,帮助开发者高效完成从开发到生产的全链路实践。

weixin_29062255的博客 553

HTTP http相关知识点详解

Http http相关知识点详解学习目标HTTP 协议TCP/IPOSI 七层模型TCPTCP 3次握手TCP 4次挥手HTTP 请求响应请求结构请求消息结构请求方法响应结构响应消息结构状态码 学习目标 掌握http协议请求和响应模型 重点 掌握Tomcat处理流程 重点 HTTP 协议 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。 HTTP是一个基于TCP的、请求与

菜鸟心声:学的不仅是技术,更是梦想! 3571

VSCode上搭建C/C++开发环境(vscode配置c/c++环境)Windows系统---保姆级教程

关于VSCode上搭建C/C++开发环境的内容,到这里就结束了,这里博主感叹一下,VSCode真的挺强大的,作为一个编辑器,可以通过和编译器链接成为开发环境,将环境配置好的话,在这上面写代码似乎也是个不错的选择。大家有任何疑问,欢迎在评论区中提出,本篇博客有任何问题和错误也欢迎来和博主讨论,真心希望能和大家一起进步。最后,如果本篇博客对你有帮助的话,能不能给博主一个三连啊!

2303_79329831的博客 8万+

【客户案例】母婴行业头部品牌是如何做私域的

各品牌争相跑马圈地,想方设法圈住流量,建立品牌资产;私域运营是一项“重人力”的工作,在传统的品牌运营过程中,私域操盘手经常会由于一对多导致无法兼顾,只能通过提高触达次数的方式加大漏斗,这样难以让每个社群都发挥出应有的价值,甚至还会导致一定程度的用户流失。除了宝妈身份外激发的用户认同感、亲密度外,KOC们作为产品的使用者,自由选择的推品和自由创作的推广文案都更具有真实性、代表性,能够极大程度激发群友们的信任感,从而愿意为产品买单,转化复购水到渠成。不同阶段的宝妈,母婴知识的储存量和经验是不同的,K品牌还会。.

圈量SCRM系统-企微营销工具-私域流量运营软件 947

http相关技术总结

HTTP 缓存是一种优化网络请求性能的重要机制,通过在客户端(如浏览器)或中间代理服务器中缓存资源副本,减少重复请求和数据传输,从而加快页面加载速度、降低服务器负载,并节省带宽。主要的区别在于安全性和数据传输方式上,HTTPS比HTTP更加安全,适合用于保护网站用户的隐私和安全,如银行网站、电子商务网站等。由于它依赖的是客户端的时间,容易因时间不一致导致错误,因此推荐优先使用。这是 HTTP/1.1 中最重要的缓存控制头,功能强大且灵活。HTTP 缓存主要分为两类:强制缓存和协商缓存。

LYZ0909的博客 1078

[VT虚拟化驱动]安装DPC回调检测CPU对VT的支持

文章目录前言一、驱动基本框架二、安装DPC回调三、检测CPU对VT的支持本章代码def.h:DriverEntry.cpputil.cpp 前言 对于VT的介绍网上有很多详细的介绍,这里不再赘述,只需要知道它有比操作系统还高的权限,可以利用这一点进行某些操作,如内存隐藏, 无痕HOOK ,MSR HOOK, 调试或者反调试, 这里直奔主题 一、驱动基本框架 虚拟机设置里虚拟化引擎设置: 新建一个空的WDM工程,平台设置为x64平台,右键属性——>Inf2Cat——>Run Inf2Cat设置

吾无法无天的博客 3907

HTTP协议相关漏洞

一、HTTP协议 HTTP是一个基于请求与响应模式的、无状态的应用层协议。 请求响应   客户端要向web服务器发送一个请求以后,等待服务器回送http响应消息。 无状态   http协议整个过程当中的各种信息不会被服务器所记录下来。 常基于TCP的连接方式 ,即http是将数据打包成TCP数据包来进行传送的,绝大多数Web应用,都是构建在HTTP协议之上,即目前使用浏览器访问web网站都是以http协议为标准的。 1、HTTP协议的方法 GET :请求获取Request-URI所标识的资源 POST :

qq_48904485的博客 1万+

基于simulink构建一个完整的航空航天器姿态控制与导航仿真模型

航空航天器的姿态控制与导航系统是确保飞行器稳定运行和精确执行任务的核心技术。其目标是通过传感器获取飞行器的状态信息,并利用控制器调整飞行器的姿态,使其按照预定轨迹飞行。基于MATLAB/Simulink平台进行航空航天器姿态控制与导航系统的建模与仿真,可以帮助研究者验证算法性能并优化系统的动态响应。本项目旨在构建一个完整的航空航天器姿态控制与导航仿真模型,包括飞行器动力学建模、传感器模块设计、控制器实现以及导航算法仿真,并通过仿真分析其性能。

xiaoheshang_123的博客 272

SAP 权限配置(复合角色)

复合角色创建步骤:业务场景:通常单一角色权限颗粒度划分比较细,当需要分配单一角色权限A、B(多个单一角色)给某账号用户Y时,可以先建立一个复合角色C,将A、B绑定到复合角色C中,再将角色C分配给账号Y即完成权限配置。 业务模拟: 1、PFCG创建复合角色: 2、在角色页面添加子角色 在角色分页内添加子角色,点击“菜单”分页中的“读菜单”即可导入子角色中的菜单: 3、将用户分配给...

willieyuan的博客 7087

http相关

一、HTTP协议简介 1、通信的定义 通信,就是信息的传递和交换。 通信三要素: 通信的主体 通信的内容 通信的方式 案例: 服务器把传智专修学院的简介通过响应的方式发送给客户端浏览器。 其中, 通信的主体是服务器和客户端浏览器; 通信的内容是传智专修学院的简介; 通信的方式是响应; 2、通信协议 通信协议(Communication Protocol)是指通信的双方完成通信所必须遵守的规则和约定。 通俗的理解:通信双方采用约定好的格式来发送和接收消息,这种事先约定好的通信格式,就叫做通信协议。 2.1互联

m0_51055743的博客 3915

使用AutoDL云服务器训练YOLO计算机视觉网络模型(AutoDL+Xftp+VS Code),附详细操作步骤

AutoDL AI算力云是一个提供人工智能算力服务的云平台。丰富的GPU资源:提供多种GPU型号,包括NVIDIA的A100A800L40V100RTX 4090RTX 3090等,能满足我们在不同场景下的需求,无论是进行大规模的AI训练还是复杂的科学计算等任务,都可以找到合适的GPU资源。灵活的付费方式:支持按量付费包日包周包月等多种付费模式。对于短期的实验或不确定时长的项目,可以选择按量付费;如果有长期稳定的算力需求,预付费或包周包月则可能更划算,可以根据自己的需求和预算进行选择。集成主流框架:集成了。

Limiiiing的博客 955

HTTP相关问题

HTTP相关问题

m0_62565675的博客 1684

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

HTTP相关

首先,并不是一种约束,仅仅是一种风格,它基于HTTP协议,利用HTTP的各种方法和URL来实现资源的创建、读取、更新、删除等操作:GET请求被用于获取资源,相当于数据库的SELECT:POST请求用于增加资源,相当于数据库的INSERT:PUT请求用于修改资源,相当于数据库的UPDATE:DELETE请求用于删除资源,相当于数据库的DELETE。

zheshiyangyang的博客 1156

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

《图解HTTP》相关知识点

《图解HTTP》读书笔记7之HTTPS的安全通信机制:https://blog.youkuaiyun.com/qq_29918313/article/details/102246997 一篇读懂HTTPS:加密原理、安全逻辑、数字证书等:https://blog.youkuaiyun.com/qq_29918313/article/details/102643804 对称加密与非对称加密:https://blog.c...

Delicia_Lani的博客 2934

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【知识科普】HTTP相关内容说明

请求转发是服务器内部的行为,客户端(浏览器)只发起一次请求,服务器将请求转发给另一个资源(如 Servlet、JSP 或其他页面)进行处理,最终将结果返回给客户端。

wendao76的专栏 2025

http服务相关概念和认识

http服务 http相关概念 1、http 服务端口号是80 其中小于1023的端口号只有特权用户才能使用,因此http启动监听时应该是以root身份 ,但是给每个用户提供服务时创建子进程可以是普通用户。 2、http 的相关术语 http: Hyper Text Transfer Protocol, 80/tcp 超文本传输协议 html: Hyper Text Markup L...

wdirdo的博客 815

HTTP相关知识点总结

名词解释 HTTP:超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准(默认端口为80)。 HTTPS : HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲就是HTTP的安全版。承载

B14070315的博客 2687

HTTP相关知识

文章目录HTTP报文头部HTTP请求报文HTTP响应报文HTTP首部字段通用头部请求头部响应头部实体头部HTTP状态码 HTTP报文头部 HTTP协议的请求和响应报文中比定包含HTTP头部。首部内容为客户端和服务器分别处理请求和响应提供所需要的信息。 HTTP请求报文 在请求中,HTTP报文由方法,URI,HTTP版本,HTTP首部字段等部分构成。 HTTP响应报文 在响应中,HTTP报文由HTTP版本,状态码(数字和原因短语),HTTP首部字段3部分构成。 首部字段同时存在与请求和响应报文中,并涵盖

qq_36553387的博客 1190

HTTP相关概念

一、HTTP协议之URL篇 http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。 HTTP URL (URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息)的格式如下:http://host[":"port][...

weixin_30344795的博客 93

【Unity网络编程知识】C#的 Http相关类学习

重要方法1)Create 创建新的WebRequest,用于进行HTTP相关操作2)Abort 如果正在进行文件传输,用此方法可以终止传输3)GetRequestStream 获取用于上传的流4)GetResponse 返回HTTP服务器响应5)Begin/EndGetRequestStream 异步获取用于上传的流6)Begin/EndGetResponse 异步获取返回的HTTP服务器响应重要成员1)Credentials通信凭证,设置为NetworkCredential对象。

zhoutao2333的博客 1591

HTTP协议相关

HTTP协议相关

彼岸花开 370
上一篇: 算法_二分查找(折半查找)
下一篇: 优快云-markdown编辑器常用指令
丿千寻
博客等级 码龄8年 8粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值