【Servlet】1:踏入JavaWeb的第一把钥匙
创始人
2024-02-07 15:45:06
0

目录

第一章 | JavaWeb序章

| 章节概述

| JavaWeb项目运行流程

| 静态与动态资源

| Javaweb开发人员的三个任务

第二章 | HTTP网络协议

| 章节概述

| HTTP简介

| HTTP请求三要素

| HTTP请求包、响应包

| HTTP状态码

| HTTPS vs HTTP


本文章属于后端全套笔记的第三部分。

(更新中)【后端入门到入土!】Java+Servlet+JDBC+SSM+SpringBoot+SpringCloud 基础入门_Graskli的博客-CSDN博客一篇文章,后端入门到入土。包含 Java基础+高级、MySQL、JDBC、Servlet、SSM、SpringBoot、SpringCloud、项目 的笔记。https://blog.csdn.net/m0_57265007/article/details/127962617?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22127962617%22%2C%22source%22%3A%22m0_57265007%22%7D

第一章 | JavaWeb序章

| 章节概述

学习 Servlet 前,您需要有下列知识储备:Java基础语法

本章将学习

  • 对Javaweb项目的执行流程有一个全局的认知,知道今后学习的知识都对应整个流程中的哪一个部分

  • 对Javaweb开发人员需要进行的任务有一个提前认知,知道作为一个Java后端开发人员的职责所在

  • 掌握静态资源和动态资源相关知识点


| JavaWeb项目运行流程


| 静态与动态资源

1.静态资源和动态资源的概念

  • 静态资源:一般客户端发送请求到web服务器,web服务器从内存在取到相应的文件,返回给客户端,客户端解析并渲染显示出来。

  • 动态资源:一般客户端请求的动态资源,先将请求交于web容器,web容器连接数据库,数据库处理数据之后,将内容交给web服务器,web服务器返回给客户端解析渲染处理。

2.静态资源和动态资源的区别

  • 静态资源一般都是设计好的html页面,而动态资源依靠设计好的程序来实现按照需求的动态响应;

  • 静态资源的交互性差,动态资源可以根据需求自由实现;

  • 在服务器的运行状态不同,静态资源不需要与数据库参于程序处理,动态可能需要多个数据库的参与运算。


| Javaweb开发人员的三个任务

  • 控制浏览器的请求方式(前端人员)

  • 编写响应的Servlet、连接数据库CURD处理请求(后端人员)

  • 控制浏览器接受请求的行为,即响应对象(后端人员)


第二章 | HTTP网络协议

| 章节概述

本章将学习

  • 初步认识HTTP及其特点

  • 掌握HTTP请求的三要素、请求包、响应包、状态码等知识

  • 掌握HTTPS和HTTP的异同点


| HTTP简介

Http是什么?

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。

HTTP是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。HTTP包含命令和传输信息,不仅可用于Web访问,也可以用于其他因特网/内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。

我们在浏览器的地址栏里输入的网站地址叫做URL (Uniform Resource Locator,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL或是单击一个超级链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。

Http协议由Http请求和Http响应组成,当在浏览器中输入网址访问某个网站时, 你的浏览器会将你的请求封装成一个Http请求发送给服务器站点,服务器接收到请 求后会组织响应数据封装成一个Http响应返回给浏览器。即没有请求就没有响应。

Http的特点

  • 基于请求/响应模型的协议。请求和响应必须成对,先有请求后有响应

  • http协议默认端口:80

  • 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

  • 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

  • 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

  • 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。


| HTTP请求三要素

请求地址:

  • 使用 a 标签进行控制

  • 当查询字符串中包含特殊字符,就需要对特殊字符进行转义,这个转义的过程就叫encode,反之就是decode

  • URL的结构如下

求参数:

前端人员通过操作dom对象获取用户输入的value,然后进行ajax请求,把数据发送给后端

请求方式:

  • 浏览器可以选择的请求方式有7中,如下图。在此只介绍一下最常用的【POST请求方式】和【GET请求方式】

  • GET请求方式:4k大小,显示信息,协议包,缓存

    1)要求浏览器发送请求的时候,携带的【请求参数数量】不能超过4k,否则截取发送

    2)要求浏览器发送请求的时候,必须在浏览器地址栏显示【请求参数信息】

    3)要求浏览器发送请求的时候,必须将请求参数信息保存在Http请求协议包中【请求体】

    4)要求浏览器在接收到服务器返回的资源文件内容后,必须将资源文件保存在浏览器的缓存中

  • POST请求方式:不限大小,隐藏信息,协议包,不缓存

    1)携带的【请求参数数量】可以不限大小

    2)必须在浏览器地址隐藏【请求参数信息】(如:输入的账号和密码作为参数 需隐藏)

    3)必须将参数信息保存在Http请求协议包中【请求体】

    4)禁止浏览器将服务器返回的资源文件内容进行保存(防止实时信息失真)

  • 辨析

    • GET和POST本质上是没有区别的!

    • GET通常用来获取数据,POST用来上传数据。因此绝大多数网站拒绝接收POST的请求,日常开发中大多使用GET请求

    • 通常情况下,GET是没有body的,它通过query string向服务器传递数据

    • GET可以被缓存,POST不能被缓存

    • 必须使用POST请求的场景

      • 文件上传 必须使用POST

      • 发起登陆验证请求,必须使用POST

      • 索要服务器中的实时变化数据时(股票价格、车票数量)时必须使用POST


| HTTP请求包、响应包

Http协议包,是Http协议的一个具象实现方式

HTTP协议包的作用

  • 在网络中传递信息都是以【二进制】形式存在的。

  • 接收方【浏览器/服务器】在接收信息后,要做第一件事就是将【二进制数据】进行编译【文字,图片,视频,命令】

  • 传递信息数据量往往比较巨大,导致接收方很难在一组连续二进制得到对应数据

    比如 浏览器发送一个请求: http://192.168.100.2:8080/index.html

    这个请求信息以二进制形式发送 01010101010110101010101101010

    Http服务器很难从二进制数据得到相关信息

  • 网络协议包一组有规律二进制数据,在这组数据存在了固定空间,网络协议包出现极大降低了接收方对接收二进制数据编译难度

    如:【0000(ip地址)0000(端口号)0000(资源文件名)0000】

HTTP请求协议包

  • 在浏览器准备发送请求时,负责创建一个Http请求协议包浏览器将请求信息以二进制形式保存在Http请求协议包各个空间,由浏览器负责将Http请求协议包推送到指定服务端计算机

  • 构成:请求行、请求头、空白行、请求体

    • 请求行:存放HTTP协议的版本、请求方式、请求地址

    • 请求头:存放GET请求的参数信息,是一组键值对;还可能存放了Cookie;除此之外,还存放了各种客户端的环境信息

    • 空白行:分割作用

    • 请求体:存放POST请求的参数信息(但是浏览器中是看不到的,有效保证了保密性)例:userName=123&password=123&returnUrl=/

HTTP请求响应包

  • Http服务器在定位到被访问的资源文件之后。负责创建一个Http响应协议包Http服务器将定位文件内容或则文件命令以二进制形式写入到Http响应协议包各个空间,由Http服务器负责将Http响应协议包推送回发起请求的浏览器上。

  • 构成:状态行、响应头、空白行、响应体

    • 状态行:存放HTTP协议的版本、状态码、状态描述(通过一个或是一组简短的单词描述了当前状态码的含义)

    • 响应头:指定浏览器采用哪个视频、图片、文本编译器;对响应体二进制数据进行解析Cookie等等(即服务器端的信息

    • 空白行:分割作用

    • 响应体:存放静态资源文件、静态资源文件命令、被访问动态资源文件运行结果(都是二进制形式),存放显示在浏览器的内容(与响应头配合,显示出来)


| HTTP状态码

由3位数字组成,第一个数字定义了响应的类别

| HTTPS vs HTTP

HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议)是一种透过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。

  • HTTPS即在HTTP的基础上加了一个加密协议,保障数据安全。

  • HTTPS 默认工作在 TCP 协议443端口,它的工作流程一般如以下方式:

    • 1、TCP 三次同步握手

    • 2、客户端验证服务器数字证书

    • 3、DH 算法协商对称加密算法的密钥、hash 算法的密钥

    • 4、SSL 安全加密隧道协商完成

    • 5、网页以加密的方式传输,用协商的对称加密算法和密钥加密,保证数据机密性;用协商的hash算法进行数据完整性保护,保证数据不被篡改。

  • HTTP 与 HTTPS 区别

    • HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好。

    • 使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。

    • HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。

    • http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。

    • HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较 HTTPS 比 HTTP 要更耗费服务器资源。

相关内容

热门资讯

关于美食的唯美句子   人生的旅途中有太多的岔口,一转身或许就是一辈子。下面是小编为大家整理的关于美食的唯美句子,欢迎欣...
《平凡的世界》好词好句好段摘... 《平凡的世界》好词好句好段摘抄  《平凡的世界》里有一群不平凡的人,是这群不平凡的人组成了这平凡的世...
和老婆说肉麻的语句 和老婆说肉麻的语句  在学习、工作乃至生活中,大家都听说过或者使用过一些比较经典的句子吧,从表达的角...
表现执行力强的句子 表现执行力强的句子(精选60句)  在日常学习、工作或生活中,大家都对那些朗朗上口的句子很是熟悉吧,...
描写秋天的简短句子 描写秋天的简短句子(精选80句)  在生活、工作和学习中,大家都对那些朗朗上口的句子很是熟悉吧,不同...
有坚持道理的句子精选491句 有坚持道理的句子 精选128句1. 滴水穿石,不是因其力量,而是因其坚韧不拔锲而不舍。2. 忍耐和坚...
关于负债累累的句子精选280... 关于负债累累的句子 精选37句1. 智慧课堂|如何以家庭为单位合理购买保险?2. 意识影响思维方式!...
别人骂我偶像我要漂亮的回击句... 别人骂我偶像我要漂亮的回击句子 精选57句1. 生活是无聊的,是需要季节的陪伴。2. 人之所以活的累...
写风景优美的句子精选685句 写风景优美的句子 精选77句1. 在希望的田野上,辛勤耕耘;在希望的田野上,艰苦劳作;在希望的田野上...
身体健康最重要的句子 身体健康最重要的句子  在日常学习、工作抑或是生活中,大家最不陌生的就是句子了吧,句子能表达一个完整...
描写夕阳西下的唯美句子 描写夕阳西下的唯美句子  描写夕阳西下的唯美句子(精选500句)  夕阳的余晖染红了半边天,人们都不...
描写架子鼓表演的句子精选72... 描写架子鼓表演的句子 精选72句1. 爵士鼓不仅有强烈的节奏,且通过两只手和双脚的相互配合,巧妙的演...
描写冬天的优美句子 描写冬天的优美句子53句  “一日之计在于晨”。大家都应该珍惜早晨的这宝贵的时光。你瞧,那些小运动员...
有才华得不到施展句子精选31... 有才华得不到施展句子 精选31句1. 有志无时2. 千里马常有,而伯乐不常有。——韩愈《马说》意思是...
李宗盛最美歌词句子精选250... 李宗盛最美歌词句子 精选59句1. 相爱是容易的,相处是困难的。2. 尘埃落定之后,回忆别来挑拨。—...
夸赞江山句子精选328句 夸赞江山句子 精选40句1. 我心中的黄河是气势磅礴的。“黄河之水天上来,奔流到海不复回。”滚滚黄水...
生活中的困难的句子精选542... 生活中的困难的句子 精选96句1. 我懂得,学会了感恩,才会在生活中发现美好,用微笑去对待每一天,用...
思念家乡及亲人的句子 思念家乡及亲人的句子  想家,就像一杯浓浓的茶,苦涩中透着多少分淡雅;想家,就像萨克斯的声调,深远悠...
清明节经典句子大全   我们每个人都应该记住曾在自己生命留下回忆的人,无论过去的还是现在的。清明节了,逝去的美好,记牢;...
关于婆媳融洽的句子精选236... 关于婆媳融洽的句子 精选35句1. 婚姻是爱情的坟墓,墓里的看墓外的人自由,墓外看墓里的人幸福,所以...