网络原理-HTTP/HTTPS(四)--认识请求 “正⽂“ (body)

正⽂中的内容格式和header中的Content-Type密切相关.上⾯也罗列了三种常⻅的情况. 下⾯可以通过抓包来观察这⼏种情况:

1)application/x-www-form-urlencoded

抓取码云上传头像请求

html 复制代码
POST https://gitee.com/profile/upload_portrait_with_base64 HTTP/1.1
Host: gitee.com
Connection: keep-alive
Content-Length: 107389
sec-ch-ua: " Not;A Brand";v="99", "Google Chrome";v="91", "Chromium";v="91"
Accept: */*
X-CSRF-Token: 6ROfZGr4Y7Qx8td1TuKCnrG8gbODLCSUqUBZSw2b+ac=
X-Requested-With: XMLHttpRequest
sec-ch-ua-mobile: ?0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Origin: https://gitee.com
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://gitee.com/HGtz2222
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Cookie: oschina_new_user=false; user_locale=zh-CN; yp_riddler_id=1ce4a551-a160-4
avatar=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAPgAAAD4CAYAAADB0Ss

2)multipart/form-data

3)application/json

HTTP响应详解

认识"状态码"(statuscode)

状态码表⽰访问⼀个⻚⾯的结果.(是访问成功,还是失败,还是其他的⼀些情况...). 以下为常⻅的状态码.

200OK

这是⼀个最常⻅的状态码,表⽰访问成功.

抓包抓到的⼤部分结果都是200

例如访问搜狗主⻚

html 复制代码
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
.....

注意:在抓包观察响应数据的时候,可能会看到压缩之后的数据,形如:

⽹络传输中"带宽"是⼀个稀缺资源,为了传输效率更⾼往往会对数据进⾏压缩.

点击Fiddler中的

即可进⾏解压缩,看到原始的内容.

404 Not Found

没有找到资源.

浏览器输⼊⼀个URL,⽬的就是为了访问对⽅服务器上的⼀个资源.如果这个URL标识的资源不存在, 那么就会出现404

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

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

html 复制代码
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>

403Forbidden

表⽰访问被拒绝.有的⻚⾯通常需要⽤⼾具有⼀定的权限才能访问(登陆后才能访问).如果⽤⼾没有登陆 直接访问,就容易⻅到403.

例如:查看码云的私有仓库,如果不登陆,就会出现403.参考链接: https://gitee.com/HGtz2222/blog_python

html 复制代码
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>
......

405MethodNotAllowed

前⾯我们已经学习了HTTP中所⽀持的⽅法,有GET,POST,PUT,DELETE等. 但是对⽅的服务器不⼀定都⽀持所有的⽅法(或者不允许⽤⼾使⽤⼀些其他的⽅法).

这种情况我们后⾯学习了Servlet再演⽰.

500InternalServerError

服务器出现内部错误.⼀般是服务器的代码执⾏过程中遇到了⼀些特殊情况(服务器异常崩溃)会产⽣这 个状态码. 咱们平时常⽤的⽹站很少会出现500(但是偶尔也能看到). 这种情况我们后⾯学习了Servlet再演⽰.

504GatewayTimeout

当服务器负载⽐较⼤的时候,服务器处理单条请求的时候消耗的时间就会很⻓,就可能会导致出现超时 的情况. 这种情况在双⼗⼀等"秒杀"场景中容易出现,平时不太容易⻅到.

302Movetemporarily

临时重定向.

理解"重定向"

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

⽐如我本来的⼿机号是186-1234-5678,后来换了个新号码135-1234-5678,那么不需要让我的朋友知 道新号码,

只要我去办理⼀个呼叫转移业务,其他⼈拨打186-1234-5678,就会⾃动转移到135-1234-5678上.

在登陆⻚⾯中经常会⻅到302.⽤于实现登陆成功后⾃动跳转到主⻚.

响应报⽂的header部分会包含⼀个Location字段,表⽰要跳转到哪个⻚⾯.

301MovedPermanently

永久重定向.当浏览器收到这种响应时,后续的请求都会被⾃动改成新的地址.

301也是通过Location字段来表⽰要重定向到的新地址.

状态码⼩结

相关推荐
dozenyaoyida1 小时前
RS预览失败问题分析和解决
网络·经验分享·嵌入式硬件·tcp·wifi6兼容性·视频预览卡顿
德迅云安全_初启1 小时前
2026年十大危险DNS攻击类型及预防措施
linux·服务器·网络
IPDEEP全球代理2 小时前
动态住宅IP与动态数据中心IP有什么不同?
运维·网络
Coisinilove2 小时前
数通第二次培训10.26
网络·数通·现代网络通信
Mr.小海2 小时前
Docker 网络模式深度解析:从原理到生产环境实战
网络·docker·容器
zhanglu51162 小时前
互联网风控体系建设理论
网络
梁辰兴2 小时前
计算机网络基础:超文本传输协议 HTTP
网络协议·计算机网络·http·计算机·超文本传输协议·计算机网络基础·梁辰兴
网云工程师手记2 小时前
防火墙接口配置与运维实战(通用版)
运维·服务器·网络·网络协议·网络安全
Lightning-py2 小时前
混杂模式vs非混杂模式
网络