网络协议七 应用层 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 参数。

12 响应头中的 set-cookie 字段 和 请求头中的 cookie字段

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

是一种会话跟踪技术

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

正向代理和反向代理

正向代理的作用

反向代理的作用

五 CDN

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/397858.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

40【源码】数据可视化:基于 Echarts + Python 动态实时大屏 - 无线网络大数据平台

数据可视化大屏的出现&#xff0c;掀起一番又一番的浪潮&#xff0c;众多企业主纷纷想要打造属于自己的“酷炫吊炸天”的霸道总裁大屏驾驶舱。 之前有小伙伴们建议我出一些视频课程来学习Echarts&#xff0c;这样可以更快上手&#xff0c;所以我就追星赶月的录制了《Echarts -…

为什么在职场上大家都在装,别人才会觉得你很强

在职场中&#xff0c;有时候会发现那些看似强大的人并不一定是真的强&#xff0c;而是他们懂得如何装出来。 上班就如甄嬛传里的宫斗&#xff0c;懂得“装”是一种智慧和生存技能。为什么在职场要会装&#xff1f;别人才会觉得你很强&#xff1f; 1、装冷脸形象没坏处 在职场…

C语言 | Leetcode C语言题解之第327题区间和的个数

题目&#xff1a; 题解&#xff1a; int countRangeSumRecursive(long long* sum, int lower, int upper, int left, int right) {if (left right) {return 0;} else {int mid (left right) / 2;int n1 countRangeSumRecursive(sum, lower, upper, left, mid);int n2 cou…

中国自动驾驶出租车冲击网约车市场

近年来&#xff0c;中国的自动驾驶技术迅速发展&#xff0c;对传统网约车市场构成了越来越大的冲击。随着科技巨头百度旗下的萝卜快跑等公司加速推广无人驾驶出租车&#xff0c;这一趋势引发了广泛的讨论和担忧。 自动驾驶技术的迅猛发展 中国自动驾驶行业正处于快速发展阶段&…

企业数字化转型解决方案

企业数字化转型解决方案旨在通过系统化的方法和先进技术&#xff0c;帮助企业在数字时代实现全面的业务升级和优化。首先&#xff0c;解决方案包括构建和部署强大的数字基础设施&#xff0c;如云计算平台、大数据分析系统和物联网设备&#xff0c;以支持企业的业务运营和数据处…

一个人活成一个团队:python的django项目devops实战

文章目录 一、需求规划二、代码管理三、创建流水线1、配置流水线源 四、自动测试五、自动构建六、自动部署七、总结 对于开发团队来说提高软件交付的速度和质量是一个永恒的话题&#xff0c;对于个人开发者来说同样如此。作为一个码农&#xff0c;一定会有几个自己私有的小项目…

Mysql 脚本转换为drawio ER 脚本

Navicat 导出数据库脚本 通过代码转换脚本 import java.io.BufferedReader; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.regex.Matcher; import java.util.regex.Pattern;/*** SQL 脚本转换为 drawio ER 脚本*/ pu…

【C++指南】函数重载:多态性的基石

&#x1f493; 博客主页&#xff1a;倔强的石头的CSDN主页 &#x1f4dd;Gitee主页&#xff1a;倔强的石头的gitee主页 ⏩ 文章专栏&#xff1a;《C指南》 期待您的关注 目录 引言 一、函数重载的概念 二、函数重载的原理 三、函数重载的应用场景 四、函数重载的规则 五…

使用 Vue 官方脚手架初始化 Vue3 项目

Vite 官网&#xff1a;https://cn.vitejs.dev/ Vue 官网&#xff1a;https://vuejs.org/ Vue 官方文档&#xff1a;https://cn.vuejs.org/guide/introduction.html Element Plus 官网&#xff1a;https://element-plus.org/ Tailwind CSS 官网&#xff1a;https://tailwindcss.…

Xilinx课程,就这么水灵灵地上线了~

如果你想了解&#xff1a; 如何利用精通流水线&#xff08;Pipeline&#xff09;技术&#xff0c;让电路设计效率倍增&#xff1f; 如何掌握利用性能基线指导设计流程的方法&#xff1f; 如何理解集成电路设计中的UltraFast Design Methodology Implementation设计方法学中的…

100 Exercises To Learn Rust 挑战!准备篇

公司内部的学习会非常活跃&#xff01;我也参与了Rust学习会&#xff0c;并且一直在研究rustlings。最近&#xff0c;我发现了一个类似于rustlings的新教程网站&#xff1a;Welcome - 100 Exercises To Learn Rust。 rustlings是基于Rust的权威官方文档《The Rust Programming…

docker技术中docker-compose与harbor技术

docker-composeharbor docker网络概念 当大规模使用docker时&#xff0c;容器间通信就成了一个问题。 docker支持的四种网络模式在run时指定 host模式 --nethost 容器和宿主机共享一个网络命名空间 container模式 --net{容器id} 多个容器共享一个网络 none模式 --netnone …

【深度学习】TTS,CosyVoice,推理部署的代码原理讲解分享

文章目录 demo代码加载配置文件speech_tokenizer_v1.onnx(只在zero_shot的时候使用)campplus.onnx(只为了提取说话人音色embedding)`campplus_model` 的作用代码解析具体过程解析总结示意图CosyVoiceFrontEndCosyVoiceModel推理过程总体推理过程推理速度很慢: https://git…

基于Python爬虫+机器学习的长沙市租房价格预测研究

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

数据库(三):DML

DML&#xff0c;全称Data Manipulation Language&#xff08;数据操作语言&#xff09;&#xff0c;用来对数据库中表的数据记录进行增、删、改、查。 一、添加数据&#xff08;INSERT&#xff09; 注意事项&#xff1a; ①插入数据时&#xff0c;指定的字段顺序需要与值的顺序…

手机在网时长查询接口如何对接?(二)

一、什么是手机在网时长查询接口&#xff1f; 传入手机号码&#xff0c;查询该手机号的在网时长&#xff0c;返回时间区间&#xff0c;支持携号转网号码查询。 二、手机在网时长查询接口适用于哪些场景&#xff1f; 比如&#xff1a;信用评估辅助 &#xff08;1&#xff09…

二叉树建堆全过程(数组实现)

定义 typedef int HPDataType;typedef struct Heap {HPDataType* a;//用数组存数据int size;//当前数组存放数据的数量int capacity;//数组容量}HP; 即将要实现的功能 void HPInit(HP* php);//初始化 void HPPush(HP* php, HPDataType x);//堆尾插入数据&#xff08;数组尾部…

论文阅读:Efficient Core Maintenance in Large Bipartite Graphs | SIGMOD 2024

还记得我们昨天讨论的《Querying Historical Cohesive Subgraphs over Temporal Bipartite Graphs》这篇论文吗? https://blog.csdn.net/m0_62361730/article/details/141003301 这篇(还没看的快去看) 这篇论文主要研究如何在时间双向图上查询历史凝聚子图&#xff0c;而《E…

深度学习入门指南(1) - 从chatgpt入手

2012年&#xff0c;加拿大多伦多大学的Hinton教授带领他的两个学生Alex和Ilya一起用AlexNet撞开了深度学习的大门&#xff0c;从此人类走入了深度学习时代。 2015年&#xff0c;这个第二作者80后Ilya Sutskever参与创建了openai公司。现在Ilya是openai的首席科学家&#xff0c;…

手机误操作导致永久删除照片的恢复方法有哪些?

随着手机功能的不断增强和应用程序的不断丰富&#xff0c;人们越来越依赖手机&#xff0c;离不开手机。但有时因为我们自己的失误操作&#xff0c;导致我们手机上重要的照片素材被永久删除&#xff0c;这时我们需要怎么做&#xff0c;才能找回我们被永久删除的照片素材呢&#…