网络协议七 应用层 HTTP 协议

应用层常见的协议 HTTP协议

一. 如何查看我们的http 协议全部的内容有哪些呢?

一种合理的方法是 通过 wireshark 软件,找到想要查看的HTTP --->追踪流--->HTTP流 来查看

结果如下:红色部分 为 发送给服务器的,蓝色部分为服务器回给我的

POST /cloudquery.php HTTP/1.1
User-Agent: Post_Multipart
Host: qup.f.360.cn
Accept: */*
Pragma: no-cache
X-360-Cloud-Security-Desc: Scan Suspicious File
x-360-ver: 4
Content-Length: 978
Content-Type: multipart/form-data; boundary=----------------------------bd51e56c91b5

------------------------------bd51e56c91b5
Content-Disposition: form-data; name="m"


..@~.....
.X.!"J..v+2DmT.:p.	]X.....Y.....=*..
..J......L. d.........
P.~....AU......M+.Ht.{...H.A..L.$.@}..[...%R..MKa..X.....NA..fV.......l8.....P....|
.4..f]W.8wT..y.(.-Z....3..Um/...S.l....~....AO....*..N{.~..+..l....+.......
.Vg#.1.C..q._.w.n....;..Mz6._r.....[^E......c.huM..,../w{.,Fa$u.......4..9..q.3.n....*....|..f
>.......#4.6.Y.8.U.G.9.....}..3Y(r.....heq._....8z.p...Rm..E..;..N..s/.....4.u......Ynk.(..g..S@3..H....@.?#L..9MU\X......]..r...)....W...b.b..t.?.r J.>N.~..5@B.A.\...k.....1..t.....[.....Fts.............7?.*.k.>...j.K..7.*..w...0..S.............	......s..{..0W......i..mo.o..b..b.1Y..N_....If...e.Lb.;O.hp<....d..8].*.... .b..B...C..4...\......Q......	!..@K:_.>.".D...y...$t..y.".i)D._%..r.....`.../.+Z.@....t....#xn....!...;.........)w'.4..eHw.'b.5=..Mg.`.gdv.E.[....z:.].....3K.._..ggTZ...Kg_,*......\.........XL.
------------------------------bd51e56c91b5--
HTTP/1.1 200 OK
Server: nginx
Date: Sun, 11 Aug 2024 01:52:30 GMT
Content-Type: application/octet-stream
Transfer-Encoding: chunked
Connection: close
Cache-Control: no-cache
pragma: no-cache


...~.......P..h.t.y....w.J....G.
.!.j....OB.%.^.VLb.^2....:s...].?..=..]-..{...T$..'g.W.S.g2....<.R...S.....R.U.....T.T.........W.T.T.T...U.....R...U.W.....S.....W.W.S.....T.....W...T.........W.............R...............U.....T...W...........?.?.?.?...?.?.?.?.?.?.;.

get 请求

post 请求

二. HTTP 的报文格式

从上述也可以看到,如果是get 请求 ,则没有请求体

三. 更加详尽的HTTP 的报文格式。

1、实际上HTTP的报文格式是由 ABNF规定的。

具体要求如下:

也就是不管是 请求报文,或者 响应报文 都应该遵守上面的PPT

2. 请求行 和 状态行(状态行实际上就是返回行)

3. 请求头和请求体

4.URL的编码,如果有中文,空格,则会根据UTF-8进行编码

5. 使用Xshell 工具,在X sehll 中使用telnet,可以直接面向HTTP报文于服务器交互

先开始服务器,

然后执行下面的步骤

6.请求行中的 请求方法有哪些

7. 请求头字段

8.响应头字段

9.状态码

10. 这里为了后面更好的学习,学习一个前端的技术 form

11. 响应头中的 Access-Control-Allow-Origin 字段 和 请求头中的 Origin 字段

要明白这两个 是干啥的,首先要明白什么是 跨域。

我们以java web 前后端举例说明。

前端和后端的开发是需要分开的,因此目前在公司的开发模式是:

前端人员 将 html,js,css 写在一个服务器上,我们假设叫做 页面服务器(假设使用的服务器为nginx),地址为localhost:8080/

后端人员 将servlet ,java代码写在一个服务器上,我们假设叫做 后台服务器(假设使用的服务器是tomcat)地址为localhost:63342/

该项目的访问流程是:

先去 localhost:8080/ 拿到 html页面显示。

在html上有个 form表单,当user 填写了数据后,填写数据,然后发送给 localhost:63342/

如果在这个过程中,就涉及到了 两个服务器的交互,也就是说,涉及到了跨域访问的问题。

如果这个过程中有 异步的 AJAX 的请求,跨域 访问就会有问题。那么如何fix 这个问题呢?

在 java服务器端 设置 Access-Control-Allow-Origin 参数。

cookie 和set-cookie 是为了解决 登陆后,不需要 账号密码就能访问 其他和该网址在同一服务器下的URL的问题

是一种会话跟踪技术

四。代理服务器的概念 了解

正向代理和反向代理

正向代理的作用

反向代理的作用

五 CDN

相关推荐
小林熬夜学编程1 小时前
【Linux网络编程】第十四弹---构建功能丰富的HTTP服务器:从状态码处理到服务函数扩展
linux·运维·服务器·c语言·网络·c++·http
Hacker_Fuchen1 小时前
天融信网络架构安全实践
网络·安全·架构
上海运维Q先生1 小时前
面试题整理15----K8s常见的网络插件有哪些
运维·网络·kubernetes
ProtonBase1 小时前
如何从 0 到 1 ,打造全新一代分布式数据架构
java·网络·数据库·数据仓库·分布式·云原生·架构
fantasy_arch11 小时前
CPU性能优化-磁盘空间和解析时间
网络·性能优化
njnu@liyong12 小时前
图解HTTP-HTTP报文
网络协议·计算机网络·http
ZachOn1y12 小时前
计算机网络:应用层 —— 应用层概述
计算机网络·http·https·应用层·dns
是Dream呀13 小时前
Python从0到100(七十八):神经网络--从0开始搭建全连接网络和CNN网络
网络·python·神经网络
kaixin_learn_qt_ing13 小时前
了解RPC
网络·网络协议·rpc
安全小王子14 小时前
Kali操作系统简单介绍
网络·web安全