网络原理 - HTTP/HTTPS(4)

这篇具有很好参考价值的文章主要介绍了网络原理 - HTTP/HTTPS(4)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

HTTP响应详解

认识"状态码"(status code)

状态码表示访问一个页面的结果.(是访问成功,还是失败,还是其它的一些情况...).(响应结果如何)

学习状态码 -> 为了调试问题. 写服务器时,按照状态码的含义正确使用.

200 OK

这是最常见的状态码,表示访问成功.

抓包抓到的大部分结果都是200.

例如访问搜狗主页.

HTTP/1.1 200 OK
Server: nginx
Date: Thu, 10 Jun 2021 06:07:27 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Vary: Accept-Encoding
Set-Cookie: black_passportid=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT; do
Pragma: No-cache
Cache-Control: max-age=0
Expires: Thu, 10 Jun 2021 06:07:27 GMT
UUID: 80022370-065c-49b0-a970-31bc467ff244
Content-Length: 14805
<!DOCTYPE html><html lang="cn"><head><meta name="viewport" content="width=device

404 Not Found 

没有找到资源.

浏览器输入一个URL,目的就是为了访问对方服务器上的一个资源.如果URL标识的资源不存在,那么就会出现404.

例如,在浏览器中输入 www.sogou.com/index.html,此时就在尝试访问sogou上的/index.html这个资源.

如果输入正确,则可以正确访问到.但是如果输入错误,比如www.sogou.com/index2.html,就会看到404这样的响应.

网络原理 - HTTP/HTTPS(4),http,网络协议,网络 

HTTP/1.1 404 Not Found
Server: nginx
Date: Thu, 10 Jun 2021 05:19:04 GMT
Content-Type: text/html
Connection: keep-alive
Vary: Accept-Encoding
Content-Length: 564
<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx</center>
</body>
</html> 

403 Forbidden

表示访问被拒绝. 有的页面通常需要用户具有一定的权限才能访问(登录后才能访问).如果用户没有登录直接访问.

例如:查看码云的私有仓库,如果不登录,就会出现403.参考链接:

https://gitee.com/HGtz2222/blog_python

网络原理 - HTTP/HTTPS(4),http,网络协议,网络 

HTTP/1.1 403 Forbidden
Date: Thu, 10 Jun 2021 06:05:36 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Keep-Alive: timeout=60
Server: nginx
Vary: Accept-Encoding
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-UA-Compatible: chrome=1
Expires: Sun, 1 Jan 2000 01:00:00 GMT
Pragma: must-revalidate, no-cache, private
Cache-Control: no-cache
Set-Cookie: oschina_new_user=false; path=/; expires=Mon, 10 Jun 2041 06:05:40 -0
Set-Cookie: gitee-session-n=ejEvQnYza2RlaXh0KzRaN3QrNWI2TzdLOE03bU5UNjRKdGlqWUFk
X-Request-Id: 82a740fb98838c305c4cc597ab6f48c0
X-Runtime: 0.020299
Content-Length: 7092
<!DOCTYPE html>
<html> 

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>您的访问受限 (403)</title>

405 Method Not Allowed

前面我们已经学习了HTTP所支持的方法,有GET,POST,PUT,DELETE等.

但是对方的服务器不一定都支持所有的方法(或者不允许用户使用一些其它的方法).

500 Internal Server Error

服务器出现内部错误.一般是服务器代码执行过程中遇到了一些特殊情况(服务器异常崩溃)会产生这个状态码 .

咱们平时常用的网站很少会出现500(但是偶尔也能看到).

504 Gateway Timeout

当服务器负载比较大的时候,服务器处理单条请求的时候消耗的时间就会很长,导致出现超时的情况.(访问服务器超时:服务器挂了/网挂了).

这种场景经常在双十一等"秒杀"场景中容易出现,平时不太容易见到.

302 Move temporarily

临时重定向. (明明访问的是A,A说:去找B,浏览器就会自动去访问B). 一旦一个网站的域名修改,很多老的用户,仍然会使用旧的域名访问,为了老用户的使用不受影响,就把访问老域名的请求重定向至新域名.

理解"重定向".

就相当于手机号码中的"呼叫转移"功能.

比如我本来的手机号是186-1234-5678, 后来换了一个新号码134-1234-5678,那么不需要我的朋友知道新号码,

只需要去办理一个呼叫转移业务,其它人拨打186-1234-5678,就会自动转移到134-1234-5678

在登录页面上经常会见到302.用于实现登录成功后自动跳转到主页.

响应报文的header部分会包含一个Location字段,表示要跳转到哪个页面.

例如:码云的登录页面 https://gitee.com/login
 抓包看到的响应结果:

HTTP/1.1 302 Found
Date: Thu, 10 Jun 2021 06:49:26 GMT
1 2
比特就业课
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Keep-Alive: timeout=60
Server: nginx
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-UA-Compatible: chrome=1
Expires: Sun, 1 Jan 2000 01:00:00 GMT
Pragma: must-revalidate, no-cache, private
Location: https://gitee.com/HGtz2222
Cache-Control: no-cache
Set-Cookie: oschina_new_user=false; path=/; expires=Mon, 10 Jun 2041 06:49:24 -0
Set-Cookie: gitee_user=true; path=/
Set-Cookie: gitee-session-n=UG5CdVZQUkVUamxsWis3b0JoL2dyTDRLVTk1WXVCK2VwaGd0OGFK
X-Request-Id: d45ade01dbeffc99a3688d3411b3381f
X-Runtime: 0.133587
Content-Length: 92

<html><body>You are being <a href="https://gitee.com/HGtz2222">redirected</a> 

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

301 Moved Permanently

永久重定向.当浏览器收到这种响应时,后续的请求都会自动改成新的地址.(如果是永久重定向,浏览器就会将重定向结果记录).

301也是通过Location这个字段表示要重定向到的新地址.

状态码小结

类别 原因短语
1XX lnformational(信息性状态码) 接收的请求正在处理
2XX Success(成功状态码) 请求正常处理完毕
3XX Redirection(重定向状态码) 需要进行附加操作以完成请求
4XX Client Error(客户端错误状态码) 服务器无法处理请求
5XX Server Error(服务器错误状态码) 服务器处理请求出错

网络原理 - HTTP/HTTPS(4),http,网络协议,网络 

 文章来源地址https://www.toymoban.com/news/detail-835536.html

到了这里,关于网络原理 - HTTP/HTTPS(4)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络原理 - HTTP / HTTPS(4)——构造http请求

    目录 一、postman 的下载安装以及简单介绍 1、下载安装 2、postman的介绍 二、通过 Java socket 构造 HTTP 请求         构造http请求的方式有两种: (1)通过代码构造 (有一点难度)        (2)通过第三方工具构造 (非常容易)。         下面介绍第三方工具构造http请求,这

    2024年04月17日
    浏览(43)
  • 网络原理 - HTTP/HTTPS(1)

    HTTP(\\\"全程超文本协议\\\")是一种应用非常广泛的 应用层协议 . 文本:字符串(能在utf8/gbk)码表上找到合法字符. 超文本:不仅是字符串,还能携带图片啥的(HTML). 富文本:类似于word文档这种. HTTP诞生于1991年.目前已经发展为最主流使用的一种应用层协议.   实际上HTTP/1.1是目前使用最广泛

    2024年02月19日
    浏览(43)
  • 网络原理 - HTTP/HTTPS(2)

    URL基本格式 平时我们俗称的\\\"网址\\\"其实就是说的URL(Uniform Resource Locator统一资源定位符). (还有一个唯一资源标识符,称为uri,严格来说,uri范围比url广). 互联网上的每一个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它. URL的详细规则由因特网标准

    2024年02月20日
    浏览(44)
  • 网络原理 - HTTP/HTTPS(3)

    header的整体的格式也是\\\"键值对\\\"的结构. 每个键值对占一行,键和值之间使用分号进行分割. 报头的种类有很多,此处仅介绍几个常见的.  Host   表示服务器主机的地址和端口. (Host和URL中的ip地址端口啥的,绝大部分情况下都是一样的,少数情况可能不同). Content-Length 表示body中的数

    2024年02月21日
    浏览(40)
  • 网络原理 - HTTP/HTTPS(4)

    状态码表示访问一个页面的结果 .(是访问成功,还是失败,还是其它的一些情况...).( 响应结果如何 ) 学习状态码 - 为了调试问题. 写服务器时,按照状态码的含义正确使用. 200 OK 这是最常见的状态码,表示访问成功 . 抓包抓到的大部分结果都是200. 例如访问搜狗主页. HTTP/1.1 200 OK

    2024年02月22日
    浏览(36)
  • 网络协议分析-http/https/tcp/udp

    “三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生 错误”。主要目的防止 server 端一直等待,浪费资源。换句话说,即是为了保证服务端能收 接受到客户端的信息并能做出正确的应答而进行前两次(第一次和第二次)握手,为了保证客

    2024年02月11日
    浏览(50)
  • 【Linux网络】网络应用层的 http 和 https协议

    在之前学习序列化和反序列化的时候,认识到主机之间传输结构数据的时候,最好是通过某种约定将结构数据序列化成一串字符串,接收方再通过反序列化将字符串转换成结构数据。以上说的这种约定,其实可以看成是用户层通信的一种协议,是由程序猿自己定的。   实际

    2024年02月02日
    浏览(64)
  • 网络基础2(HTTP,HTTPS,传输层协议详解)

    再谈协议         在之前利用套接字进行通信的时候,我们都是利用 “字符串” 进行流式的发送接收,但是我们平常进行交流通信肯定不能只是简单的发送字符串。         比如我们用QQ进行聊天,我们不仅需要得到对方发送的消息,还要知道对方的昵称,头像等一系列数

    2024年02月13日
    浏览(54)
  • 【网络技术】【Kali Linux】Wireshark嗅探(九)安全HTTP协议(HTTPS协议)

    本次实验是基于之前的实验:Wireshark嗅探(七)(HTTP协议)进行的。本次实验使用Wireshark流量分析工具进行网络嗅探,旨在初步了解安全的HTTP协议(HTTPS协议)的工作原理。 HTTPS的含义是HTTP + SSL,即使用SSL(安全套接字)协议对通信数据进行加密。HTTP和HTTPS协议的区别(用

    2024年01月20日
    浏览(53)
  • [网络原理] HTTP协议

    要珍惜时间呀 HTTP协议是应用层协议,TCP/IP协议为传输层协议,负责传输数据.而HTTP协议相当于对传输的数据据怎样处理和使用进行说明. 每次,我们访问网站的时候,都会给网站的服务器发送一个HTTP请求,服务器收到请求后,会返回一个HTTP响应.如下图所示. 下图,为一个HTTP请求的格式

    2024年02月03日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包