首页 > 编程知识 正文

300状态码,状态编码

时间:2023-05-06 21:23:57 阅读:116763 作者:3510

文章目录HTTP概念作用HTTP请求HTTP标头HTTP连接各版本差异HTTP 1.0 HTTP 1.1 http 2.0 http 3.0 https概念作用工作原理利弊http和https差异http状态代码重定向是什么? 什么时候重定向? 301和302为什么尽量使用301? 304如何解决问题?

HTTP概念超文本传输协议(Hyper Text Transfer Protocol )是客户端和服务器端请求和响应标准(TCP ),属于应用层。 http的生命周期由Request定义。 也就是说,Request是一个响应。 (可以发送多个请求并接收多个响应,但请求和响应是一对一的关系。 )。

通过使从WWW服务向本地浏览器传输超文本的传输协议发挥作用,提高了浏览器的效率,减少了网络传输。

http请求GET、POST、HEAD、OPTIONS、PUT、DELETE、TRACE和CONNECT

http标头描述通用标头(通用信息)、请求标头、响应标头、实体标头)实体) )。

http连接实质上是TCP协议的长连接和短连接。 默认情况下,短连接:http1.0使用短连接。 也就是说,每次请求后重新开始连接,数据交换结束后关闭连接。 默认情况下,从33558www.Sina.com/http1.1使用长连接。 连接建立后不会断开,而是发送和接收数据。 用于在客户端和服务器之间传输数据的TCP连接不会关闭,并且当客户端再次访问此服务器时,将继续使用此已建立的连接。

每个版本的差异http1.0 1,默认使用短连接。

2、使用If-Modified-Since,Expires制定缓存判断标准。

3、有频段浪费。 例如,客户端只需要对象的一部分,而服务端发送整个对象。

http1.1 1,默认使用长连接。

2、引入更多的缓存判断标准: Etag、If-None-Match等。

3、允许要求有资源的部分。

添加了4,24个状态代码。

http2.0 1,允许复用,在同一连接上同时处理多个请求。

2、支持二进制代码。

3、压缩相同的头,不重复传输。

4、流量控制,精确控制不同流向的流量。

5、支持服务器端推送(将CSS和JS一起发送)。 除了来自客户端的请求外,服务端还可以自己发送数据。

http3.0 1,quic (快速寻呼连接)基于长连接:

2、解决了TCP的头块问题(如果某一流的数据中存在丢包,那么后续传输的流数据传输也同样被阻塞)。 在http3.0中,实现了不同流之间的真正相互独立的传输,并且彼此不干扰。

3、保持网络切换时的连接。

HTTPS概念在http下加入SSL/TSL层,安全基础是SSL,加密细节需要SSL。 【https的SSL加密在UDP协议上实现】

建立信息安全渠道,确保数据传输和网站完整性。

工作原理

1、客户使用https url访问服务器并建立SSL连接。

2、服务器收到请求后,将包含公钥的证书返回客户端。

3、客户端和服务端协商SSL连接的安全级别,即加密级别。

4 .客户端浏览器在安全级别建立会话密钥(对称加密),用公钥加密会话密钥并将其发送到服务端(非对称加密)。

5、服务器用其私钥解密会话密钥,并与客户机建立通信。

不对称加密: RSA、DSA对称加密: AES、RC4HASH加密: MD5、SHA1好处1、验证用户和服务器,确保数据正确发送。

2、比http协议安全,确保数据完整性。

3、现行框架中最安全的解决方案增加了攻击成本。

缺点1,https握手阶段需要时间,页面加载时间变长。

2、https缓存不如http高效,数据开销增加。

3、强凭证的消费成本越高。

http和https的区别

1、http未加密,传输内容均为明文; https加密传输并提高安全性。

2、https协议需要ca证书,费用较高。

3、http端口为80; https的端口是443。

4、http连接无状态(其分组的发送、发送、接收相互独立); https连接有状态。

http状态代码状态代码类型原因1xxInformation (信息)收到的请求正在处理中2xxSuccess (正常处理完成3xxRedirection )重定向)请求完成4 xx客户端错误)服务器将

解释100服务器收到了请求, 请客户端继续发送200请求成功,一般用于 GET 与 POST 请求201成功请求并创建了新的资源202已经接受请求,但未处理完成203非授权信息204服务器成功处理,但未返回内容301请求的资源已被永久的移动到新URL,返回信息会包括新的URL302资源临时被移动,客户端应继续使用原有URL303使用GET和POST请求查看其它地址304请求已被允许,但文档的内容并没有改变305所请求的资源必须通过代理访问307使用GET请求重定向400请求无效,前端数据与后端不一致401当前请求需要用户验证403服务器已经得到请求,但是拒绝执行404服务器无法根据客户端的请求找到资源(网页)405客户端请求中的方法被禁止408服务器等待客户端发送的请求时间过长,超时410客户端请求的资源已经不存在413由于请求的实体过大,服务器无法处理,因此拒绝请求414请求的URL过长415服务器无法处理请求附带的媒体格式416客户端请求的范围无效500服务器内部错误,无法完成请求501服务器不支持请求的功能,无法完成请求503由于超载或系统维护,服务器暂时的无法处理客户端的请求505服务器不支持请求的HTTP协议的版本重定向 什么是重定向?

从一个地址跳转到另一个地址。

什么时候会重定向?

1、网站调整(如改变网页目录结构)
2、网页被移到一个新地址
3、网页扩展名改变

301 和 302

301 是指请求的资源已被永久的移动到新URL,返回信息会包括新的URL;而 302 是指资源临时被移动,客户端应继续使用原有的URL。

为什么尽量使用 301?

因为网址劫持,比如使用 302 跳转时,网址会临时定位到另一个网址,搜索引擎的结果所显示的仍然是网址A,但是所用的网页内容网址B上的内容,这就是网址劫持。而 301 跳转则抛弃了旧网址,永久转移到新的网址。

如何解决 304 问题?

304 是指请求已被允许,但文档的内容并没有改变。出现 304 是因为先在本地缓存了访问的资源。
解决: 强制刷新、禁用缓存

参考文章:https://www.jianshu.com/p/995a3000f7d6?isappinstalled=0、https://blog.csdn.net/glpghz/article/details/106063833

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。