JavaWeb技术栈
∙
\bullet
∙ B/S架构:Browser/Server,浏览器/服务器架构模式,它的特点是客户端只需要浏览器,应用程序的逻辑和数据都存储在服务器端.浏览器只需要请求服务器,获取Web资源,服务器把Web资源发送给浏览器即可.
优点:易于维护升级:服务器端升级后,客户端无需任何操作就可以使用最新版本.
∙
\bullet
∙ 静态资源:HTML,CSS,JavaScript,图片等.负责页面展观
∙
\bullet
∙ 动态资源:Servlet,JSP等.负责逻辑处理
∙
\bullet
∙ 数据库:负责存储数据
HTTP
概念:HyperText Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则
HTTP协议特点
1.基于TCP协议:面向连接,安全
2.基于请求-响应模型:一次请求对应以此响应
3.HTTP协议是无状态的协议:对于事务处理没有记忆能力.每次请求-响应都是独立的
缺点:多次请求不能共享数据
优点:速度快
HTTP-请求数据格式
∙
\bullet
∙ 请求数据分为三部分:
1.请求行:请求数据第一行.其中GET表示请求方式,/表示请求资源路径,HTTP/1.1表示协议版本
2.请求头:第二行开始,格式为key:value格式
3.请求体:POST请求的最后一部分,存放请求参数
∙
\bullet
∙ 常见HTTP请求头:
host:表示请求主机名
User-Agent:浏览器版本,例如Chrome浏览器的标识类似Mozilla/5.0…Chrome/79, IE浏览器的表示类似于Mozilla/5.0(Windows NT…)立刻Gecko;
Accept:表示浏览器能接受的资源类型,如Text/*,image/或者/*表示所有;
Accept-Language:表示浏览器偏好的语言,服务器可以根据此返回不同语言的页面
Accept-Encoding:标识浏览器可以支持的压缩类型,例如gzip.deflate等.
GET请求和POST请求区别
1.GET请求请求参数在请求行中,没有请求体.POST请求请求在请求体中.
2.GET请求请求参数有大小限制,POST没有(URL有限制)
HTTP-响应格式
∙
\bullet
∙ 响应数据分为3部分:
1.响应行:响应数据第一行.其中HTTP/1.1表示协议版本,200表示响应状态码,OK表示状态码描述
2.响应头:第二行开始,格式为key:value形式
3.响应体:最后一部分,存放响应数据
KaTeX parse error: Undefined control sequence: \bulluet at position 1: \̲b̲u̲l̲l̲u̲e̲t̲ 常见的HTTP响应头:
1.Content-Type: 表示该响应内容的类型,例如text/HTML,image,jpeg
2.Content-length: 表示该响应内容的长度(字节数)
3.Content-Encoding:表示该响应的压缩算法,例如gzip
4.Cache-Control:只是客户端如何缓存,例如max-age=300 表示可以最多缓存300秒
HTTP学习网站
https://cloud.tencent.com/developer/section/1190206