HTTP状态码

HTTP状态码为客户端提供了一种理解事务处理结果的边界方式。本文列出一些原因短语,所使用的是HTTP/1.1规范所定义的。

100-199

HTTP/1.1中引入了信息性状态码,100-199就属于信息性状态码。

100

状态码100对应了Continue,说明服务器收到了请求,请客户端继续发送。服务器发送了这个状态码之后,继续收到客户端的请求时必须做出响应。

100 Continue状态码可能会让人陷入困境,在HTTP客户端需要发送一个实体给服务器时,希望在发送之前检查一下服务器是否会接受这个实体,根据服务器做出响应。但是在整个链路复杂时他就会出现混淆。

100-客户端

如果客户端在向服务器发送一个实体,并且愿意在发送实体之前等待100 Continue响应,那么客户端就要发送一个携带了值为100 Continue的Expect请求头,如果客户端没有发送实体,就不应该发送100 Continue Expect头,因为这个值会让服务器误以为客户端要发送一个实体。

100 Continue是一个优化项,客户端只有在需要向服务器发送一个大实体时才应该使用该状态码。发送了100 Continue的Expect头的客户端需要等待服务器发送100 Continue响应,但是注意需要设置超时时间,当超时后客户端应该直接将实体发送出去,而不是永远等待服务器响应。

服务器在处理出错时也可能会向客户端返回100 Continue状态码,客户端也需要特别注意是否为自己所需要的响应。

100-服务器

101

发布时间:2024-04-21

其他阅读

管道技术——中间件的灵魂

在现代Web开发中,中间件技术使用越来越广泛,本文带大家了解中间件的基础,同时也是中间件的灵魂所在,管道技术。在C#中,依赖于委托,我们可以很容易就实现一个中间件管道。所以在阅读本文前,请确保你已经学会了什么是委托,包括但不限于Delegate,Action,Func。除此之外,本文还会使用到反射相关知识,请确保你已经学会了什么是反射。

记录Unity中的坑

Unity虽然使用C#来进行开发,但是Unity所使用的运行时和.net的原生运行时却又差别,这导致在.net中的某些代码块在Unity中运行会出现错误。

网页小技巧

分享一些网页开发中实用的UI小技巧,快速完成页面搭建工作。

记录一次Unity中的同步问题

在以前做的数字孪生应用中,使用的 socket 进行定制协议开发,服务和 Unity 客户端之间可以互相进行通信,在开发时代价太大,除了正常制定数据协议外,还需要针对粘包定制切包协议。在WEB化的过程中,准备把原有的数字孪生服务端进行迁移,使用全新的 asp.net core 进行开发,双方使用 signalR 进行数据交互。

在ASP.NET Core中使用过滤器

ASP.NET Core是一个高性能的Web开发框架,过滤器(Filter)在ASP.NET Core中被用于路由方法之上,可以在路由方法执行前后完成一些额外的操作。本文将会介绍在ASP.NET Core中使用 IActionFilter 实现过滤器并读取路由方法中的参数。