当前位置: 首页 > article >正文

Servlet理论和tomcat(2)http

网络相连和信息传递

路由器的相连,如下图

广域网就是大量局域网相连

互联网传递消息就是在路由器上不断的进行跳转

IP起到的作用是进行寻址

网卡:MAC地址

一个完整的数据包括目的IP、源IP、目的MAC、源MAC

很多时候人们记不住IP地址,于是人们找到了一种方便记忆的网址——域名

在浏览器上输入www.google.com->因为你买的是电信的手机卡(假设使用电信的网),那么你的计算机当中默认数据访问地址就是

端口号

80:http协议默认端口号

443:https协议默认端口号

8080:tomcat测试端口号

http协议(超文本传输协议)

请求

请求方式

有很多种请求方式,GET请求和POST请求最常用

GET特点:

1.通过URL传递参数,URL与参数之间用?隔开,多个参数用&隔开,也是表单的默认提交方式

2.GET传送的数据量较小,这主要是因为收到URL长度的限制

3.GET会将数据显示到URL当中不安全

4.GET一般用于直接获取数据,提高查询速度

GET实例:

POST特点:

1.POST的数据在请求主体内,所以比较安全

2.POST对上传数据的大小无限制

3.POST适用于增删改查操作

POST请求可以做文件的上传和下载

POST请求没有做到绝对安全

POST实例:

URL

URL代码:

URL代码在浏览器:

URL中文是“统一资源定位符”

HTTP版本(不重要)

HTTP(超文本传输协议)是一种用于传输超文本(如HTML)的应用层协议,自1991年推出以来,经历了多个版本的演进。

HTTP/0.9

发布时间:1991年

特点:极其简单,只支持GET请求。无HTTP头、状态码或错误处理。服务器响应后立即关闭连接。

HTTP/1.0

发布时间:1996年(RFC 1945)

特点:引入了HTTP头、状态码和版本号。支持多种请求方法(如GET、POST、HEAD)。每次请求需建立新连接,效率较低。

HTTP/1.1

发布时间:1997年(RFC 2068),后更新于1999年(RFC 2616)

特点:支持持久连接,减少连接建立的开销。引入管道化(pipelining),允许连续发送多个请求。新增PUT、DELETE等方法。支持分块传输编码(chunked transfer encoding)。

HTTP/2

发布时间:2015年(RFC 7540)

特点:二进制协议,提升解析效率。多路复用,允许同时发送多个请求和响应。头部压缩(HPACK),减少开销。服务器推送(Server Push),主动发送资源。

HTTP/3

发布时间:2022年(RFC 9114)

特点:基于QUIC协议,使用UDP而非TCP。减少连接建立时间,提升性能。改进拥塞控制和丢包恢复。内置加密(TLS 1.3)。

请求头

响应

相应状态头

相应头

相应正文

服务器给我们发来的数据

https协议

http协议本身并不安全,因为数据是用明码进行传输的

https协议->s:TSL/SLL(安全套接字)

加密方式

对称加密:产生的是密钥,加密和解密用的是同一个密钥

非对称加密:产生的是公钥和私钥,公钥加密的数据需要私钥解密,私钥加密的数据需要公钥解密

http的加密模式是对称加密和非对称加密共同作用的方式

数字证书

一个网站的身份证

cookie和session

http是无状态的,不能保持每次提交的信息,如果用户发来一个新的请求,服务器无法知道它与上次请求是否有联系,对于一个需要提交多次信息才能完成的操作,比如购物,就很有问题,为了解决这个问题,有了cookie和session

cookie:客户端浏览器

session:服务器解决方案

在Sevlet设置cookie:

设置后的cookie:

cookie优点:可以配置到期规则;

优点:可以配置到期规则;简单性:cookie是一种包含文本轻量结构,包括简单的键值对;数据持久性:cookie默认在过期之前可以一直保存在客户端浏览器上

缺点:大小受限制:大多数浏览器对cookie的大小有限制,分别是4k和8k字节;用户配置为禁用:有些用户禁用了浏览器或者客户端设备接收cookie的能力,因此限制了这一功能;潜在的安全风险:cookie可能被篡改

session:


http://www.kler.cn/a/571182.html

相关文章:

  • 制服小程序的“滑手”:禁用页面左右滑动全攻略
  • leetcode112-路径总和
  • 练习题:66
  • Python 矩阵对角线操作函数介绍
  • 音频3A测试--AEC(回声消除)测试
  • 什么是线性代数
  • 2025机械考研复试面试问题汇总篇(含13门科目),考研机械复试专业面试常见重点问题总结!考研机械复试专业面试准备看这一篇就够了!
  • 爬虫Incapsula reese84加密案例:Etihad航空
  • 【科研绘图系列】R语言绘制数值的美国地图(USA map)
  • 华为hcia——Datacom实验指南——配置手工模式以太网链路聚合
  • 477页pdf深度剖析!张潼教授的《机器学习算法数学分析》
  • Zookeeper 及 基于ZooKeeper实现的分布式锁
  • 【每日学点HarmonyOS Next知识】网页获取高度、行为菜单底部布局、动画问题、Web跨域加载图片、不随系统深色变化
  • pytorch 模型测试
  • 一周学会Flask3 Python Web开发-WTForms表单验证
  • LeeCode题库第四十三题
  • 20道Redis面试题
  • AI 编译器学习笔记之十六 -- TVM
  • 2025年Linux主力系统选择指南:基于最新生态的深度解析(附2025年发行版对比速查表)
  • 代码贴——堆(二叉树)数据结构