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

凯里做网站百度网站建设推广

凯里做网站,百度网站建设推广,福建建设执业注册管理中心网站,北京公司模板网站目录 一、SpringBootWeb入门 二、HTTP协议 HTTP-请求协议 HTTP-响应协议 HTTP-协议解析 三、Web服务器-Tomcat 服务器概述 Tomcat 一、SpringBootWeb入门 直接基于SpringFramework进行开发#xff0c;存在两个问题#xff1a;配置繁琐、入门难度大 通过springboot就…目录 一、SpringBootWeb入门 二、HTTP协议 HTTP-请求协议 HTTP-响应协议 HTTP-协议解析 三、Web服务器-Tomcat 服务器概述 Tomcat 一、SpringBootWeb入门 直接基于SpringFramework进行开发存在两个问题配置繁琐、入门难度大 通过springboot就可以快速的帮我们构建应用程序所以springboot呢最大的特点有两个 简化配置 快速开发 Spring Boot 可以帮助我们非常快速的构建应用程序、简化开发、提高效率 。 需求基于SpringBoot的方式开发一个web应用浏览器发起请求/hello后给浏览器返回字符串 “Hello World ~”。 Web分析 浏览器 输入网址http://192.168.100.11:8080/hello 通过IP地址192.168.100.11定位到网络上的一台计算机 之前在浏览器中输入的localhost就是127.0.0.1本机 通过端口号8080找到计算机上运行的程序 localhost:8080 , 意思是在本地计算机中找到正在运行的8080端口的程序 /hello是请求资源位置 资源对计算机而言资源就是数据 web资源通过网络可以访问到的资源通常是指存放在服务器上的数据 localhost:8080/hello 意思是向本地计算机中的8080端口程序获取资源位置是/hello的数据 8080端口程序在服务器找/hello位置的资源数据发给浏览器 服务器可以理解为ServerSocket 接收到浏览器发送的信息如/hello 在服务器上找到/hello的资源 把资源发送给浏览器 网络三要素 - IP 网络中计算机的唯一标识 - 端口 计算机中运行程序的唯一标识 - 协议 网络中计算机之间交互的规则 问题浏览器和服务器两端进行数据交互使用什么协议 答案http协议 二、HTTP协议 HTTP-概述 HTTPHyper Text Transfer Protocol(超文本传输协议)规定了浏览器与服务器之间数据传输的规则。 http是互联网上应用最为广泛的一种网络协议 http协议要求浏览器在向服务器发送请求数据时或是服务器在向浏览器发送响应数据时都必须按照固定的格式进行数据传输 浏览器向服务器进行请求时 服务器按照固定的格式进行解析   服务器向浏览器进行响应时 浏览器按照固定的格式进行解析 HTTP协议有哪些特点   基于TCP协议: 面向连接安全 TCP是一种面向连接的(建立连接之前是需要经过三次握手)、可靠的、基于字节流的传输层通信协议在数据传输方面更安全 基于请求-响应模型: 一次请求对应一次响应先请求后响应 请求和响应是一一对应关系没有请求就没有响应  HTTP协议是无状态协议: 对于数据没有记忆能力。每次请求-响应都是独立的 无状态指的是客户端发送HTTP请求给服务端之后服务端根据请求响应数据响应完后不会记录任何信息。- 缺点: 多次请求间不能共享数据 - 优点: 速度快请求之间无法共享数据会引发的问题- 如京东购物。加入购物车和去购物车结算是两次请求 - 由于HTTP协议的无状态特性加入购物车请求响应结束后并未记录加入购物车是何商品 - 发起去购物车结算的请求后因为无法获取哪些商品加入了购物车会导致此次请求无法正确展示数据具体使用的时候我们发现京东是可以正常展示数据的原因是Java早已考虑到这个问题并提出了使用会话技术(Cookie、Session)来解决这个问题。具体如何来做我们后面课程中会讲到。 HTTP-请求协议 浏览器和服务器是按照HTTP协议进行数据通信的。 HTTP协议又分为请求协议和响应协议 请求协议浏览器将数据以请求格式发送到服务器 包括请求行、请求头 、请求体 响应协议服务器将数据以响应格式返回给浏览器 包括响应行 、响应头 、响应体 请求行 HTTP请求中的第一行数据。由请求方式、资源路径、协议/版本组成之间使用空格分隔   常见的HTTP请求头有: Host: 表示请求的主机名User-Agent: 浏览器版本。 例如Chrome浏览器的标识类似Mozilla/5.0 ...Chrome/79 IE浏览器的标识类似Mozilla/5.0 (Windows NT ...)like GeckoAccept表示浏览器能接收的资源类型如text/*image/*或者*/*表示所有Accept-Language表示浏览器偏好的语言服务器可以据此返回不同语言的网页Accept-Encoding表示浏览器可以支持的压缩类型例如gzip, deflate等。Content-Type请求主体的数据类型Content-Length数据主体的大小单位字节 请求体 存储请求参数 GET请求的请求参数在请求行中故不需要设置请求体 POST方式的请求协议 请求行(以上图中红色部分)包含请求方式、资源路径、协议/版本 请求方式POST 资源路径/brand 协议/版本HTTP/1.1 请求头(以上图中黄色部分) 请求体(以上图中绿色部分) 存储请求参数 请求体和请求头之间是有一个空行隔开作用用于标记请求头结束 GET请求和POST请求的区别 区别方式GET请求POST请求请求参数请求参数在请求行中。 例/brand/findAll?nameOPPOstatus1请求参数在请求体中请求参数长度请求参数长度有限制(浏览器不同限制也不同)请求参数长度没有限制安全性安全性低。原因请求参数暴露在浏览器地址栏中。安全性相对高 HTTP-响应协议 HTTP响应的数据也分为3部分响应行、响应头 、响应体   响应行(以上图中红色部分)响应数据的第一行。响应行由协议及版本、响应状态码、状态码描述组成 协议/版本HTTP/1.1 响应状态码200 状态码描述OK 响应头(以上图中黄色部分)响应数据的第二行开始。格式为keyvalue形式 http是个无状态的协议所以可以在请求头和响应头中设置一些信息和想要执行的动作这样对方在收到信息后就可以知道你是谁你想干什么 常见的HTTP响应头有: Content-Type表示该响应内容的类型例如text/htmlimage/jpeg ​ Content-Length表示该响应内容的长度字节数 ​ Content-Encoding表示该响应压缩算法例如gzip ​ Cache-Control指示客户端应如何缓存例如max-age300表示可以最多缓存300秒 ; ​ Set-Cookie: 告诉浏览器为当前页面所在的域设置cookie ; 响应体(以上图中绿色部分) 响应数据的最后一部分。存储响应的数据 响应体和响应头之间有一个空行隔开作用用于标记响应头结束 响应状态码 状态码分类说明1xx响应中 --- 临时状态码。表示请求已经接受告诉客户端应该继续请求或者如果已经完成则忽略2xx成功 --- 表示请求已经被成功接收处理已完成3xx重定向 --- 重定向到其它地方让客户端再发起一个请求以完成整个处理4xx客户端错误 --- 处理发生错误责任在客户端如客户端的请求一个不存在的资源客户端未被授权禁止访问等5xx服务器端错误 --- 处理发生错误责任在服务端如服务端抛出异常路由出错HTTP版本不支持等 HTTP-协议解析 有一个Server.java类这里面就是自定义的一个服务器代码主要使用到的是ServerSocket和Socket /** 自定义web服务器*/ public class Server {public static void main(String[] args) throws IOException {ServerSocket ss new ServerSocket(8080); // 监听指定端口System.out.println(server is running...);while (true){Socket sock ss.accept();System.out.println(connected from sock.getRemoteSocketAddress());Thread t new Handler(sock);t.start();}} }class Handler extends Thread {Socket sock;public Handler(Socket sock) {this.sock sock;}public void run() {try (InputStream input this.sock.getInputStream();OutputStream output this.sock.getOutputStream()) {handle(input, output);} catch (Exception e) {try {this.sock.close();} catch (IOException ioe) {}System.out.println(client disconnected.);}}private void handle(InputStream input, OutputStream output) throws IOException {BufferedReader reader new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8));BufferedWriter writer new BufferedWriter(new OutputStreamWriter(output, StandardCharsets.UTF_8));// 读取HTTP请求:boolean requestOk false;String first reader.readLine();if (first.startsWith(GET / HTTP/1.)) {requestOk true;}for (;;) {String header reader.readLine();if (header.isEmpty()) { // 读取到空行时, HTTP Header读取完毕break;}System.out.println(header);}System.out.println(requestOk ? Response OK : Response Error);if (!requestOk) {// 发送错误响应:writer.write(HTTP/1.0 404 Not Found\r\n);writer.write(Content-Length: 0\r\n);writer.write(\r\n);writer.flush();} else {// 发送成功响应://读取html文件转换为字符串InputStream is Server.class.getClassLoader().getResourceAsStream(html/a.html);BufferedReader br new BufferedReader(new InputStreamReader(is));StringBuilder data new StringBuilder();String line null;while ((line br.readLine()) ! null){data.append(line);}br.close();int length data.toString().getBytes(StandardCharsets.UTF_8).length;writer.write(HTTP/1.1 200 OK\r\n);writer.write(Connection: keep-alive\r\n);writer.write(Content-Type: text/html\r\n);writer.write(Content-Length: length \r\n);writer.write(\r\n); // 空行标识Header和Body的分隔writer.write(data.toString());writer.flush();}} } 启动ServerSocket程序 浏览器输入http://localhost:8080 就会访问到ServerSocket程序 ServerSocket程序会读取服务器上html/a.html文件并把文件数据发送给浏览器 浏览器接收到a.html文件中的数据后进行解析显示以下内容 现在大家知道了服务器是可以使用java完成编写是可以接受页面发送的请求和响应数据给前端浏览器的而在开发中真正用到的Web服务器我们不会自己写的都是使用目前比较流行的web服务器。如Tomcat   三、Web服务器-Tomcat 服务器概述 服务器硬件 指的也是计算机只不过服务器要比我们日常使用的计算机大很多。 服务器也称伺服器。是提供计算服务的设备。由于服务器需要响应服务请求并进行处理因此一般来说服务器应具备承担服务并且保障服务的能力。 服务器的构成包括处理器、硬盘、内存、系统总线等和通用的计算机架构类似但是由于需要提供高可靠的服务因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。 在网络环境下根据服务器提供的服务类型不同可分为文件服务器数据库服务器应用程序服务器WEB服务器等。 服务器只是一台设备必须安装服务器软件才能提供相应的服务。 服务器软件 服务器软件基于ServerSocket编写的程序 服务器软件本质是一个运行在服务器设备上的应用程序 能够接收客户端请求并根据请求给客户端响应数据 Web服务器 Web服务器是一个应用程序(软件)对HTTP协议的操作进行封装使得程序员不必直接对协议进行操作(不用程序员自己写代码去解析http协议规则)让Web开发更加便捷。主要功能是提供网上信息浏览服务。   Web服务器是安装在服务器端的一款软件将来我们把自己写的Web项目部署到Tomcat服务器软件中当Web服务器软件启动后部署在Web服务器软件中的页面就可以直接通过浏览器来访问了。   Web服务器软件使用步骤 准备静态资源 下载安装Web服务器软件 将静态资源部署到Web服务器上 启动Web服务器使用浏览器访问对应的资源 第1步准备静态资源 第2步下载安装Web服务器软件 第3步将静态资源部署到Web服务器上 第4步启动Web服务器使用浏览器访问对应的资源 浏览器输入http://localhost:8080/demo/index.html 上述内容在演示的时候使用的是Apache下的Tomcat软件。而对于Web服务器来说实现的方案有很多Tomcat只是其中的一种而除了Tomcat以外还有很多优秀的Web服务器比如:   Tomcat就是一款软件我们主要是以学习如何去使用为主。具体我们会从以下这些方向去学习: 简介初步认识下Tomcat 基本使用: 安装、卸载、启动、关闭、配置和项目部署这些都是对Tomcat的基本操作 Tomcat Tomcat服务器软件是一个免费的开源的web应用服务器。是Apache软件基金会的一个核心项目。 由ApacheSun和其他一些公司及个人共同开发而成。由于Tomcat只支持Servlet/JSP少量JavaEE规范所以是一个开源免费的轻量级Web服务器。 JavaEE规范 JavaEE Java Enterprise Edition(Java企业版)avaEE规范就是指Java企业级开发的技术规范总和。包含13项技术规范JDBC、JNDI、EJB、RMI、JSP、Servlet、XML、JMS、Java IDL、JTS、JTA、JavaMail、JAF 因为Tomcat支持Servlet/JSP规范所以Tomcat也被称为Web容器、Servlet容器。JavaWeb程序需要依赖Tomcat才能运行。Tomcat的官网: https://tomcat.apache.org/ 基本使用 直接从官方网站下载Tomcat下载 安装与卸载 安装: Tomcat是绿色版直接解压即安装 打开apache-tomcat-9.0.27目录就能看到如下目录结构每个目录中包含的内容需要认识下 bin目录下有两类文件一种是以.bat结尾的是Windows系统的可执行文件一种是以.sh结尾的是Linux系统的可执行文件。 webapps就是以后项目部署的目录 卸载卸载比较简单可以直接删除目录即可 启动与关闭 启动Tomcat 双击tomcat解压目录/bin/startup.bat文件即可启动tomcat 注意: tomcat服务器启动后,黑窗口不会关闭,只要黑窗口不关闭,就证明tomcat服务器正在运行 Tomcat的默认端口为8080在浏览器的地址栏输入http://127.0.0.1:8080 即可访问tomcat服务器   关闭: 关闭有三种方式 1、强制关闭直接x掉Tomcat窗口不建议 2、正常关闭bin\shutdown.bat 3、正常关闭在Tomcat启动窗口中按下 CtrlC 说明如果按下CtrlC没有反映可以多按几次 来源:黑马程序员2023新版JavaWeb开发教程实现javaweb企业开发全流程涵盖SpringMyBatisSpringMVCSpringBoot等
http://www.sadfv.cn/news/92483/

相关文章:

  • 模板网站有利于做seo吗佛山网红书店
  • 无后台基础怎么建设网站公司注册信息查询
  • 传媒公司网站建设策划网站制作在哪能看
  • 百度贴吧有没有做网站的人wordpress 分类采集
  • 5站合一 网站建设如何购买域名建网站
  • 许昌哪里做网站实例讲解html5制作一个网站
  • 成都赢星高考培训学校搜狗seo排名软件
  • 上海网站定制公司多平台网站设计实例
  • 广东建设职业注册中心网站wordpress share
  • 关于申请网站建设维护经费室内设计联盟app下载
  • 网上做调查问卷赚钱的网站wordpress redis缓存定时
  • 网站要精细是什么意思对网络营销的认识300字
  • 如何快速做网站排名贵阳seo网站推广
  • 国际空间站笑话网站模板
  • 免费企业网站建设介绍中国建筑工程考试网
  • 怎么选一个适合自己的网站济南网站推广公司
  • 河南省住房和城乡建设厅查询网站北京数据优化公司
  • 南京网站制作多少钱wordpress3.9界面中文
  • 红酒网站建设模板跨境电商官方网址
  • 牡丹江站江苏建设科技网站
  • 免费视频课程网站模板昆明企业建站模板
  • 请人做网站需要问哪些问题桂林网红餐厅
  • 网站建设深圳公司哪家好泗洪网站建设公司
  • 营销网站的渠道构成基本包括dz论坛做分类网站
  • 温州产品推广网站vps服务器10元一月
  • 网站改版提交 百度中国数据统计网站
  • 微商城网站建设阿里营销网站建设
  • 四站合一网站建设价格做网站上传图片
  • 合肥建设学校官方网站个人主页自助建站
  • 哪个网站可以做免费商业推广wordpress左右两栏