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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • J2EE项目系列(三)–Spring Data JPA+Spring+SpringMVC+Maven快速开发(1)项目架构

    J2EE项目系列(三)–Spring Data JPA+Spring+SpringMVC+Maven快速开发(1)项目架构好久没给大家弄Java后端项目系列了,因为接了Java后端外包以及学习一些后端优化的东西。而现在开始慢慢在这个系列的(三)逐渐把后端外包的一些有价值的东西分享给大家,并且自己也总结一遍嘛。本博客是这个系列的第一篇,所以先讲下项目架构。另外,这个系列还有一些我在外包项目过程中做的优化,七牛云,云旺IM等使用,以及解决一些小bug等等技巧。

    2022年6月6日
    36
  • Java8 stream流之分组 groupingBy 的使用

    Java8 stream流之分组 groupingBy 的使用使用stream流可以让我们的代码看上去很简洁,本文举例了按照班级分组、分组再过滤、统计分组后人数、嵌套分组、分组排序…

    2022年8月20日
    55
  • sklearn库的使用_导入turtle库的方法

    sklearn库的使用_导入turtle库的方法Sklearn库是基于Python的第三方库,它包括机器学习开发的各个方面。机器学习的开发基本分为六个步骤,1)获取数据,2)数据处理,3)特征工程,4)机器学习的算法训练(设计模型),5)模型评估,6)应用。机器学习的算法一般分为两种:一种既有目标值又有特征值的算法称之为监督学习,另一种只有特征值的算法称之为无监督学习。而监督学习还可以继续细分为分类算法和回归算法。1)获取数据⑤Sklearn中获取数据集使用的包为Sklearn.datasets,之后可以接load_*和fetch_*从Skle

    2022年10月7日
    3
  • 移动互联网敏捷开发流程

    移动互联网敏捷开发流程1 nbsp nbsp nbsp nbsp nbsp nbsp 制定版本计划由技术 leader 产品 leader 项目经理 老板达成一致 根据各公司情况 制定每个版本的周期 一周或者两周一个版本 由于 ios 的发版流程需要 appstore 审核 流程比较复杂 可安排 android 的发版时间比 ios 提前两三天 由 android 版本经过灰度用户验证后 再灰度 ios nbsp 2 nbsp nbsp nbsp nbsp nbsp nbsp 输出需求列表由产品经理 产品经理 leader 老板达

    2025年11月21日
    4
  • idea如何远程debug_eclipse远程debug原理

    idea如何远程debug_eclipse远程debug原理使用IDEA进行远程debug,这个操作大家没用过也听过它的实现原理为:本机和远程主机的两个VM之间使用Debug协议通过Socket通信,传递调试指令和调试信息。其中,调试的程序常常被称为debugger,而被调试的程序称为debuggee。在Debug领域,JDK有一套规范与体系来支持,即JavaPlatformDebuggerArchitecture,JPDA体系。在JPDA体系中定义了三个角色,每个角色又对应着不同的技术模块支撑,分别为JVMTI/JDWP/J

    2025年10月17日
    4
  • Android resource linking failed_android:authorities

    Android resource linking failed_android:authorities我正在尝试处理我的主类中的推送通知(并且我也有GCMBroadcastReceiver-用于我未运行主类时出现的所有通知)但是registerReceiver无法正常工作(GCMBroadcasrReceiver正常工作)我的代码:publicclassMainextendsActivity{protectedvoidonCreate(BundlesavedInstanceStat…

    2025年10月30日
    4

发表回复

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

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