网络原理 - HTTP / HTTPS(3)——http响应

本文涉及的产品
.cn 域名,1个 12个月
简介: 网络原理 - HTTP / HTTPS(3)——http响应

一、认识 “状态码”(status code)


       状态码表示访问一个网页的结果,是成功,还是失败,还是一些其他情况,状态码有很多,如图:

       上面这些状态码并不需要全部记住,只需记住一些常见的即可,下面介绍一些常见的状态码。

常见的状态码

(1)200 OK

       表示访问这个页面成功了,一切顺利。我们随便抓取一个包,很多都是200的状态码,如图:

(2)404 Not Found

       访问的资源找不到。我们现在给搜狗的域名后面加abc.html(带层次的文件路径),如图:

       出现了404,意思是访问的资源找不到;有的网页会把这个界面做的好看一点,有的就会是版本404,像B站的404页面就具有二次元风格,如图:

(3)403 ForBidden

       要访问的资源没有权限。例如访问别人gitte上的私人仓库,就会出现403。如图,访问一个别人的私有云:

(4)405 Method Not Allowed

       你的服务器只支持GET方法的请求。但你发了个POST方法的请求,就会出现405。

(5)500 Internal Server Error

       服务器内部错误(服务器挂了);在外面的网站很难遇到,咱们自己写的服务器很容易遇到。

(6)504 GateWay TimeOut

       访问服务器超时,可能是服务器挂了,也可能是网络挂了

(7)302 Move temporarily

      重定向(临时重定向,不方便缓存)指的是我明明访问的是A网站,但A网站会告诉你,你去访问B网站,浏览器就会自动跳转到B网站

       这个类似以前手机的呼叫转移因为以前的漫游费很贵,要是在不同省份就会换成当前省份的手机号码,但是换了手机号后,朋友亲人怎么知道我换了手机号,要一个一个电话打给他们吗?当然不是,我们可以整一个 “呼叫转移” 业务,这样朋友亲人们打的电话还是我以前的旧号码,但是一位办了 “呼叫转移” 业务,所以实际上会转到我现在新的手机号码,这样就不用那么麻烦了,朋友亲人依然可以联系到我

       而这里的重定向,可以运用在网页更新域名的时候使用,因为更新域名前已经积攒了一些老用户,老用户不知道更新了域名,依然会使用老的域名,这时就会使用到重定向,即使老用户访问的是旧域名,还是可以通过重定向,访问到更新后的域名

       有重定向的响应报文中,用 Location 描述重定向要跳转的网页在哪里

       下面抓取是重定向的数据包,访问码云的登陆登录页面:https://gitee.com/login

       header中的Location是 https://gitee.com/,接下来浏览器就会自动发送GET请求,获取 https://gitee.com/

(8)301 Moved Permanently

       永久重定向浏览器会把重定向的结果记录下来,后续再次访问,就会直接访问重定向的目标地址,不必再多跳转一次了(如果是临时重定向,就不太方便缓存)

(9)418 I am a teapot(彩蛋)

       我是一个茶壶(杯具),是一个彩蛋。是设计HTTP协议的大佬,开的一个玩笑;很多程序猿也会在代码上搞类似的彩蛋(苦中作乐),但我们实际工作中,千万不要这么搞,因为商业产品往往是很严肃的,即使对产品本身逻辑没有什么影响,但指不定哪天,就会背刺你一下,就这么一下,很可能会导致我们丢饭碗;在前端,比较出名的开源库:Ant Design 组件库,就有类似的严重失误,感兴趣可以在网上搜一下。

(10)状态码分类图


二、认识响应 “报头”(header)


      响应报头和请求报头的格式基本一致类似 Content-Type 和 Content-Length 等属性也和请求中的含义一致

这些属性的含义可以参考我的上一篇文章:网络原理 - HTTP / HTTPS(2)——http请求-CSDN博客

       响应中的 Content-Type 常见取值有以下几种:

               •text/html :body 数据格式是 HTML

              • text/cssbody 数据格式是 CSS

              • application/javascriptbody 数据格式是 JavaScript

               • application/jsonbody 数据格式是 JSON

关于 Content-Type 的详细情况:https://developer.mozilla.org/enUS/docs/Web/HTTP/Basics_of_HTTP/MIME_types


三、认识响应 “正文”(body)


       正文(body)的具体格式取决于报头中的Content-Type,body的格式我上篇文章有,可以参考:网络原理 - HTTP / HTTPS(2)——http请求-CSDN博客

相关文章
|
7天前
|
JSON 网络协议 安全
《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(1)-HTTP和HTTPS基础知识
【7月更文挑战第16天】本文介绍了HTTP和HTTPS协议的基本概念与作用,强调了理解HTTP协议对使用抓包工具Fiddler的重要性。HTTP是用于Web浏览器与服务器间信息传输的协议,不加密,易被截取,不适合传输敏感信息。HTTPS是HTTP的安全版,通过SSL/TLS提供加密和服务器身份验证,确保数据安全。HTTP请求包括请求行、请求头、空行和可选的请求主体,响应则有响应行、响应头、空行和响应主体。HTTP协议无状态,而HTTPS解决了安全性问题,但也带来了额外的计算开销。Fiddler作为一个强大的抓包工具,可以帮助开发者和测试人员分析HTTP/HTTPS通信,理解请求和响应的结构。
25 4
《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(1)-HTTP和HTTPS基础知识
|
2天前
|
安全 程序员 网络安全
HTTP和HTTPS的区别,你真的了解吗?
大家好,我是你们的技术小伙伴小米!今天我们来聊聊HTTP和HTTPS的区别以及HTTPS链接的建立过程,同时了解两种常见的加密算法——对称加密和非对称加密。通过这篇文章,你将深入理解这些网络基础知识,为网站安全保驾护航!
15 7
|
1天前
|
缓存 网络协议 网络性能优化
网络协议详解:TCP/IP与HTTP
【7月更文挑战第24天】TCP/IP协议和HTTP协议是现代互联网通信的重要基石。TCP/IP协议提供了计算机之间数据传输和通信的底层支持,而HTTP协议则在此基础上实现了超文本数据的传输。随着互联网的不断发展,TCP/IP协议和HTTP协议将继续发挥重要作用,为各种网络应用提供稳定、高效的通信服务。
|
13天前
|
网络协议 网络安全 数据安全/隐私保护
HTTPS与HTTP的一些区别
HTTPS与HTTP的一些区别
|
14天前
|
JSON 网络协议 数据格式
网络协议基础:HTTP请求与响应详解
【7月更文挑战第11天】HTTP协议作为Web通信的核心,其请求与响应机制是理解网络通信的关键。本文详细介绍了HTTP请求与响应的格式、过程以及常用的请求方法,帮助读者更好地理解HTTP协议的工作原理和应用场景。在实际应用中,HTTP协议的可定制性和灵活性使其能够适应多种
|
1天前
|
监控 安全 搜索推荐
http和https的区别是什么?
在互联网安全日益成为焦点的今天,使用HTTPS不仅是一种趋势,更是网站运营的基本要求之一。它不仅能够保护用户隐私和数据安全,还能提升网站的可信度和搜索引擎排名。因此,无论是个人网站还是企业级应用,都应当考虑使用HTTPS来保护用户和数据的安全,迈向一个更加安全和可靠的网络环境。
4 0
|
12天前
|
网络协议 安全 Python
我们将使用Python的内置库`http.server`来创建一个简单的Web服务器。虽然这个示例相对简单,但我们可以围绕它展开许多讨论,包括HTTP协议、网络编程、异常处理、多线程等。
我们将使用Python的内置库`http.server`来创建一个简单的Web服务器。虽然这个示例相对简单,但我们可以围绕它展开许多讨论,包括HTTP协议、网络编程、异常处理、多线程等。
|
2月前
|
缓存 安全 网络协议
一起深入了解http和https的区别
HTTP适合于非敏感信息的传输,而HTTPS则是在要求安全性、隐私保护及信任机制的现代互联网环境中不可或缺的标准配置。随着网络安全意识的提高和技术的发展,越来越多的网站和服务都转向使用HTTPS,力求在提供便捷服务的同时保障用户数据的安全。HTTPS将成为未来的基本选择。
73 0
一起深入了解http和https的区别
|
2月前
|
安全 网络协议 算法
http和https的区别有哪些
http和https的区别有哪些
|
28天前
|
安全 网络协议 网络安全
IP代理的三大协议:HTTP、HTTPS与SOCKS5的区别
**HTTP代理**适用于基本网页浏览,简单但不安全;**HTTPS代理**提供加密,适合保护隐私;**SOCKS5代理**灵活强大,支持TCP/UDP及认证,适用于绕过限制。选择代理协议应考虑安全、效率及匿名需求。