net

net

状态码

状态码状态码英文名称描述
100Continue继续。客户端应继续其请求
101Switching Protocols切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议
200OK请求成功。一般用于GET与POST请求
201Created已创建。成功请求并创建了新的资源
202Accepted已接受。已经接受请求,但未处理完成
203Non-Authoritative Information非授权信息。请求成功。但返回的meta信息不在原始的服务器,而是一个副本
204No Content无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档
205Reset Content重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图。可通过此返回码清除浏览器的表单域
206Partial Content部分内容。服务器成功处理了部分GET请求
300Multiple Choices多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择
301Moved Permanently永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替
302Found临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI
303See Other查看其它地址。与301类似。使用GET和POST请求查看
304Not Modified未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源
305Use Proxy使用代理。所请求的资源必须通过代理访问
306Unused已经被废弃的HTTP状态码
307Temporary Redirect临时重定向。与302类似。使用GET请求重定向
400Bad Request客户端请求的语法错误,服务器无法理解
401Unauthorized请求要求用户的身份认证
402Payment Required保留,将来使用
403Forbidden服务器理解请求客户端的请求,但是拒绝执行此请求
404Not Found服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面
405Method Not Allowed客户端请求中的方法被禁
406Not Acceptable服务器无法根据客户端请求的内容特性完成请求
407Proxy Authentication Required请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权
408Request Time-out服务器等待客户端发送的请求时间过长,超时
409Conflict服务器完成客户端的 PUT 请求时可能返回此代码,服务器处理请求时发生了冲突
410Gone客户端请求的资源已经不存在。410不同于404,如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置
411Length Required服务器无法处理客户端发送的不带Content-Length的请求信息
412Precondition Failed客户端请求信息的先决条件错误
413Request Entity Too Large由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应
414Request-URI Too Large请求的URI过长(URI通常为网址),服务器无法处
415Unsupported Media Type服务器无法处理请求附带的媒体格式
416Requested range not satisfiable客户端请求的范围无效
417Expectation Failed服务器无法满足Expect的请求头信息
500Internal Server Error服务器内部错误,无法完成请求
501Not Implemented服务器不支持请求的功能,无法完成请求
502Bad Gateway作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应
503Service Unavailable由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中
504Gateway Time-out充当网关或代理的服务器,未及时从远端服务器获取请求
505HTTP Version not supported服务器不支持请求的HTTP协议的版本,无法完成处理

强缓存与协商缓存

缓存的优点:

  • 减少了不必要的数据传输,节省带宽
  • 减少服务器的负担,提升网站性能
  • 加快了客户端加载网页的速度
  • 用户体验友好

缺点:

  • 资源如果有更改但是客户端不及时更新会造成用户获取信息滞后,如果老版本有bug的话,情况会更加糟糕。
一、强缓存

服务端就在respone header里面对该文件做了缓存配置,respone header 的cache-control,常见的设置是max-age public private no-cache no-store等

max-age表示缓存的时间是31536000秒(1年),

public表示可以被浏览器和代理服务器缓存,代理服务器一般可用nginx来做。

private只让客户端可以缓存该资源;代理服务器不缓存

immutable表示该资源永远不变,,它这么设置的意思是为了让用户在刷新页面的时候不要去请求服务器!

no-cache跳过设置强缓存,但是不妨碍设置协商缓存;

no-store不缓存,这个会让客户端、服务器都不缓存,也就没有所谓的强缓存、协商缓存了

二、协商缓存

服务端就在response header里面的设置etag、last-modified

etag:每个文件有一个hash,改动文件了就变了,

last-modified:文件的修改时间,精确到秒

三次握手(tcp)

三次握手即:客户端和服务器总共发送3个包来建立tcp连接

tcp协议机制:累计确认、超时重发。

三次握手解决问题
  • tcp累计确认机制,即客户端一次请求携带的seq必须得到服务端的确认(ack)才会完成。如果没有返回确认(ack)报文段,由于超时重发机制,客户端就会重发报文。即这种机制避免了创建多余的连接
  • 所以建立TCP链接,客户端和服务端都需要确认(ack)对方发来的报文。确认客户端的存活
三次握手过程

第一次握手: 客户端发送syn标志位和seq num,向服务器申请建立连接,等待服务端确认(ack),且得知服务端想要得到的下一个确认包的序列号(num)。

第二次握手: 服务端返回 syn和ack标志位,ack num以及seq num,确认第一次握手的报文段,返回ack num=seq num(第一次握手发送的)+1,同意建立连接

第三次握手: 客户端发送确认报文段,返回ack以及ack num=seq num(第二次握手发送的)+1,完成连接

HTTP

运行在TCP之上的请求-响应协议。【应用层协议】

HTTPS

在HTTP的基础上加入SSL,通过传输加密和身份认证保证了传输过程的安全性 。

SSL协议

位于TCP/IP协议与各种应用层协议(如http)之间,为数据通讯提供安全支持

服务器认证阶段:

  • 客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;

  • 服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;

  • 客户端根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;

  • 服务器回复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。

客户端认证阶段:

  • 经认证的服务器发送一个提问给客户,客户端则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值