论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
企业信息化/数字化
›
MES
›
学习网络基础
学习网络基础
郭卫东
金牌会员
|
2022-8-9 14:44:53
|
显示全部楼层
|
阅读模式
楼主
主题
704
|
帖子
704
|
积分
2112
一、OSI模型
七层架构
7、应用层:HTTP
6、表示层
5、会话层
4、传输层:TCP
3、网络层
2、数据链路层
1、物理层
二、http协议
2.1、HTTP概念
1、
超文本传输协议
(Hyper Text Transfer Protocol)
2、用于从万维网服务器传输超文本到本地浏览器的传送协议
3、HTTP协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输HTML页面的内容。默认端口是80
4、http是基于请求与响应模式的、无状态的、应用层的协议
2.2、HTTP请求类
1、get:获取资源
2、post:提交资源
3、put:修改资源
4、delete:删除资源
5、head:查看响应头
6、options:查看支持的请求方式
7、trace:返回服务器收到的请求数据,用于开发自测
8、connect:服务器作为跳板,让服务器代理用户去其他网站访问资源,然后再把拿到的资源返回给用户(重定向)
2.3、互联网架构类型
1、
BS架构(浏览器)
2、
CS架构(应用程序/app)
3、
流程:客户端 服务器(前端服务器nginx) 后端服务器(网关,课程服务,鉴权服务))
2.4、HTTP组成
2.4.1、请求报文
2.4.1.1、请求行
1)请求方法
2)请求地址
3)HTTP版本
4)回车符(看不见)
5)换行符(看不见)
2.4.1.2、请求头
1、key:value
1.1、请求头关注字段
1)Accept:*/*:用来告知客户端可以处理的内容类型
2)token:null:鉴权,后端返回的token信息
3)Set-cookies:前端缓存信息,session_id:用来鉴权
4)Content-Type:application/json;charset=utf-8:前端告诉后端请求参数编码的格式
1.2、常见Content-Type类型
1)表单:application/x-www-form-urlencoded
2)json格式编码:application/json
3)上传文件或图片:multipart/from-data
4)提交html格式文件:text/xml
2、回车符(看不见)
3、换行符(看不见)
2.4.1.3、空行
1、回车符(看不见)
2、换行符(看不见)
2.4.1.4、请求正文
2.4.2、响应报文
2.4.2.1、状态行
1)协议版本
2)状态码
3)状态码描述
4)回车符(看不见)
5)换行符(看不见)
2.4.2.2、响应头
1、key:value
1.1、响应头关注字段
1)Content-Type:application/json; charset=utf-8:告诉前端后端支持的编码格式
2)Set-cookie:告诉前端如何设置缓存信息
2、回车符(看不见)
3、换行符(看不见)
2.4.2.3、空行
1、回车符(看不见)
2、换行符(看不见)
2.4.2.4、响应正文
2.4.3、请求体
1、get请求:参数拼接在接口地址后面
2、post请求:参数放在请求体body里面
3、
get与post区别
1)参数传递:get是向服务器获取数据,参数放到url地址后面;post是向服务器传送数据,参数放在body里
2)安全性:get相对不那么安全,post相对安全
3)请求参数长度限制(后端可修改):理论上get参数长度有限制,post长度无限制,实际协议本身并没有做长度限制,是后端服务器做了限制,考虑内存问题
4)幂等性(同一个请求无论做多少次,结果都不变):通常情况下,get请求是幂等的,post请求不幂等(后端要做幂等处理,如金融方面)
2.4.4、响应体
get与post无区别,该怎么返回就怎么返回
2.4.5、响应状态码
1、1xx:服务器已经收到了请求,需要客户端继续操作
1)100:客户端应该继续请求
2)101:切换到更高级的协议
2、2xx:HTTP成功状态码
1)
200:请求成功,一般用于get,和post
2)201:请求已经成功,并创建了新的资源
3)202:请求已经接受,但未处理完成
4)204:服务器处理成功,但是并未返回内容
5)206:服务器成功处理了部分请求,get请求,常用与资源下载
3、3xx:资源重定向
1)
301:请求资源被永久移动到新的url,返回替代该资源的url,浏览器会自动重定向到新的url,后续资源的访问将使用新的替代
2)302:临时移除,301是永久移除,资源只是临时移动到新的url,客户端继续使用原有的url
3)303:查看该资源的其他地址
4)304:请求的资源未修改,当服务器返回304,此时服务器不会返回任何资源,客户端将使用本地缓存资源。
5)305:请求的资源必须通过代理访问
6)307:临时重定向,与302类似
4、4xx:客户端错误
1)401:请求需要用户的身份认证
2)402:保留状态码,并未使用
3)403:服务器已经收到了客户端的请求,但是拒绝执行这个请求
4)
404:服务器无法找到客户端需要访问的资源
5)407:请求需要代理进行身份认证,与401类似
6)408:服务器等待客户端发送的请求时间过长,超时
5、5xx:服务端错误
1)
500:服务器内部错误,无法完成请求
2)501:服务器不支持请求的功能,无法完成请求
3)
502:网关或者是代理服务器执行请求的时候,收到了一个无效的响应
4)
503:服务器故障,暂时无法处理客户端的请求
5)504:网关或者是服务器代理,无法从远处服务器获取请求
6)505:服务器不支持请求的HTTP协议的版本,无法处理请求
三、TCP协议
3.1、报文格式
3.1.1、TCP头部
1)Header Length:头部长度
2)Reserved:保留位
3)Window Size:还能接收容量
4)ACK:确认号字段是否有效,若ACK=1,则有效
5)SYN:在建立连接时,同步序号
6)FIN:标记数据是否发送完毕,若FIN=1,表示已经发送完成
3.1.2、TCP数据
详见:http://testingpai.com/article/1621601730160
3.2、三次握手/四次挥手
详见:http://testingpai.com/article/1621669379653
四、https协议
4.1、CA证书:证书签发机构颁布的数字证书
4.2、请求过程
4.2.1、
三次握手
1、客户端发送https请求,服务端将公钥以证书的形式发送给客户端
2、客户端收到后加密发送给服务端,服务端解密并确认身份,发送加密串给客户端
3、客户端解密并确认身份,问服务端要协议密钥,通知服务端握手结束,服务端响应密钥给客户端,通知客户端握手结束
4.2.2、
四次挥手
1、客户端告知服务端发送完毕
2、服务端发送确认信息
3、客户端告知服务端确实要关闭连接
4、服务端确认关闭释放TCP连接
五、
http与https区别
1、安全性:http明文传输,https加密传输(CA证书),https相对安全
2、端口:http端口:80,https端口:443
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
郭卫东
金牌会员
这个人很懒什么都没写!
楼主热帖
界面组件DevExpress ASP.NET Core v21. ...
SQL的约束
拦截|篡改|伪造.NET类库中不限于public ...
Cilium 系列-3-Cilium 的基本组件和重 ...
用python对美女内容采集,舞蹈区内容真 ...
基于华为云图引擎GES,使用Cypher子查 ...
接口新特性
Spring Boot 学习笔记
mysql基础练习(二)
ASP.NET Core MVC 从入门到精通之HttpC ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表