JavaWeb学习笔记(一)

JavaWeb学习笔记(一)

目录

 

1.1、前言

1.2、web应用程序

1.3、静态web

1.4、动态web

Http

什么是HTTP?

两个时代

Http请求

1、请求行

2、消息头

Http响应

1.响应体

2、响应状态码


1.1、前言

web开发:

web,网页的意思 , www.baidu.com

静态web

html,css

提供给所有人看的数据始终不会发生变化!

动态web

淘宝,几乎是所有的网站;

提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同!

技术栈:Servlet/JSP,ASP,PHP

在Java中,动态web资源开发的技术统称为JavaWeb;

1.2、web应用程序

web应用程序:可以提供浏览器访问的程序;

a.html、b.html……多个web资源,这些web资源可以被外界访问,对外界提供服务;你们能访问到的任何一个页面或者资源,都存在于这个世界的某一个角落的计算机上。

URL

这个统一的web资源会被放在同一个文件夹下,web应用程序–>Tomcat:服务器

一个web应用由多部分组成 (静态web,动态web)

html,css,js

jsp,servlet

Java程序

jar包

配置文件 (Properties)

web应用程序编写完毕后,若想提供给外界访问:需要一个服务器来统一管理;

1.3、静态web

*.htm, *.html,这些都是网页的后缀,如果服务器上一直存在这些东西,我们就可以直接进行读取。通络;

JavaWeb学习笔记(一)

 

静态web存在的缺点

Web页面无法动态更新,所有用户看到都是同一个页面

轮播图,点击特效:伪动态

JavaScript [实际开发中,它用的最多]

VBScript

它无法和数据库交互(数据无法持久化,用户无法交互)

1.4、动态web

页面会动态展示: “Web的页面展示的效果因人而异”;

JavaWeb学习笔记(一)

 

缺点:

加入服务器的动态web资源出现了错误,我们需要重新编写我们的后台程序,重新发布;

停机维护

优点:

Web页面可以动态更新,所有用户看到都不是同一个页面

它可以与数据库交互 (数据持久化:注册,商品信息,用户信息……..)

JavaWeb学习笔记(一)

新手村:–魔鬼训练(分析原理,看源码)–> PK场

 

Http

什么是HTTP?

  • HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。
  • 文本:html,字符串,~ ….
  • 超文本:图片,音乐,视频,定位,地图…….
  • 80
  • Https:安全的
  • 443

两个时代

 

  • http1.0   
  •             HTTP/1.0:客户端可以与web服务器连接后,只能获得一个web资源,断开连接
  • http2.0
    •             HTTP/1.1:客户端可以与web服务器连接后,可以获得多个web资源。

Http请求

 

  • 客户端—发请求(Request)—服务器

百度:

Request URL:https://www.baidu.com/  请求地址
Request Method:GET   get方法/post方法
Status Code:200 OK   状态码:200
Remote(远程) Address:14.215.177.39:443
Accept:text/html 
Accept-Encoding:gzip, deflate, br
Accept-Language:zh-CN,zh;q=0.9   语言
Cache-Control:max-age=0
Connection:keep-alive

1、请求行

 

  • 请求行中的请求方式:GET
  • 请求方式:Get,Post,HEAD,DELETE,PUT,TRACT…
  1. get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,安全,但高效
  2. post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但不高效。

2、消息头

Accept:告诉浏览器,它所支持的数据类型
Accept-Encoding:支持哪种编码格式  GBK  UTF-8  GB2312  ISO8859-1
Accept-Language:告诉浏览器,它的语言环境
Cache-Control:缓存控制
Connection:告诉浏览器,请求完成是断开还是保持连接
HOST:主机..../.

Http响应

服务器—响应—–客户端
百度:

Cache-Control:private   缓存控制
Connection:Keep-Alive   连接
Content-Encoding:gzip   编码
Content-Type:text/html  类型

1.响应体

Accept:告诉浏览器,它所支持的数据类型
Accept-Encoding:支持哪种编码格式  GBK  UTF-8  GB2312  ISO8859-1
Accept-Language:告诉浏览器,它的语言环境
Cache-Control:缓存控制
Connection:告诉浏览器,请求完成是断开还是保持连接
HOST:主机..../.
Refresh:告诉客户端,多久刷新一次;
Location:让网页重新定位;

2、响应状态码

200:请求响应成功 200
3xx:请求重定向
重定向:你重新到我给你新位置去;
4xx:找不到资源 404
资源不存在;
5xx:服务器代码错误 500 502:网关错误

常见面试题:
当你的浏览器中地址栏输入地址并回车的一瞬间到页面能够展示回来,经历了什么?

 

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114763.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • UI自动化控制微信发送文件【解决了一个无人回答的难题,Pywin32设置文件到剪切板】「建议收藏」

    UI自动化控制微信发送文件【解决了一个无人回答的难题,Pywin32设置文件到剪切板】「建议收藏」大家好,我是小小明。前面我在《UI自动化控制PC版微信》该系列文中更新了控制微信发送图片的方法。链接:https://blog.csdn.net/as604049322/category_11396772.html根据部分群友实际工作的需要,本文将分享如何控制微信发送文件。按照前面的思路,我们发送文本和图片,都是采用复制粘贴操作剪切板的方式,而uiautomation框架本身也提供了复制文本或图片的方法。但是如果需要复制文件到剪切板,uiautomation并没有提供相应的api。翻遍了全网的资

    2022年7月11日
    19
  • hi3516a与hi3516e_led player6.0怎么使用

    hi3516a与hi3516e_led player6.0怎么使用背景公司新做了一块3516Dv300的开发板,其中有MIPITx接口,刚好公司库房还有好几百块的LCD屏,LCD屏是800×480的,还是原装屏,不用掉怪可惜的了,所以就让硬件的同事化了个转接板,使用的芯片是ICN6211,这货最大分辨率可以支持到1920×1200,感兴趣的小伙伴自己下个手册看看。调试过程MIPI屏一般都有一组寄存器需要初始化,这个可以根据使用的芯片资料来初始化,大部分厂家会提供初始化寄存器,使用的MIPICommandMode,至于怎么使用,大家自己去Google。我们

    2022年9月14日
    0
  • 【排版六原则】

    上个月,我贴了《图形化简历》。几天后,就收到了秋叶老师的来信,希望…

    2022年1月18日
    31
  • Android apk中so库文件未压缩

    Android apk中so库文件未压缩背景:升级AS3.6.1,并且升级projectbuild.gradleAGP到3.6.1,一个项目发现打包后文件骤然增大,查看apk包,发现apk包中so库文件未被压缩.但是一个类似项目,相同版本却没有问题升级前升级后升级后RawFileSize正好是未压缩的大小可能原因不同版本AGPgradlebuildtask实现不一样,再某情况下回不进行…

    2022年6月15日
    25
  • com组件接口_com组件特点

    com组件接口_com组件特点int main( int argc, char *argv[] ){cout << "Ini

    2022年8月5日
    5
  • vscode前端插件配置[通俗易懂]

    vscode前端插件配置[通俗易懂]vscode前端最佳插件配置

    2022年7月25日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号