@[TOC](Java Web学习五:http&Web开发简介&TomCat)
一:http协议
1.http协议:超文本传输协议(HTTP , HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议,用于定义web浏览器与web服务器之间交换数据的过程。
http与万维网的py交易如下:
2.http协议的作用
为了深入学习javaweb开发,必须深入学习http。
3.http协议的特点
给予请求request与响应response模型的协议,请求和响应必须成对,而且是先有请求才有响应。
4.http协议的组成:
HTTP request,HTTP response。
HTTP request 包括:请求行,请求头,请求体
HTTP response 包括:响应行,响应头,响应体
二:http协议的详解
首先,在html / jsp文件中,编写表单页面,分别使用get和post方法
进入浏览器,抓包。
1.HTTP请求的详解
HTTP请求的格式:请求行,请求头,请求体。
通过 get方法和post方法 的抓包如图:
分析:
1.请求行在HTTP请求request里面是第一行,格式为:请求方式,资源的路径,协议/版本(http版本)
2.get和post:
get请求将参数追加到URL(路径)的后面,这是相当的不安全的,不能保护隐私,例如from.html?username=jack&username=1234,所以一般不采用。没有请求体。
post请求得参数显示在了请求体,较安全。
3.请求头通常采用键值对的形式(key:value)传输数据。
常见的请求头
Referer 浏览器通知服务器 ,当前请求来自何处(来之哪个html或jsp)。如果是直接访问,则不会有这个头。常用于:防盗链
If-Modified-Since 浏览器通知服务器,本地缓存的最后变更时间。与另一个响应头组合控制浏览器页面的缓存。
Cookie 与会话有关的技术,用于存放浏览器缓存的cookie信息。
4.请求体:通常只有post才有请求体,包含的是用户表单提交的数据,每一项数据都使用键值对(k==v),多组值使用&相连。例如username=jack&password=1234
2.HTTP响应的详解
HTTP响应的格式:响应行,响应头,响应体
分析:
1.响应行中的格式为:协议/版本 状态码 状态码描述
状态码:服务器与浏览器用于确定状态的固定数字号码
200:请求成功
404:请求的资源不存在。通常是用户路径编写错误,也看是资源以及被删除了。
302:请求重定向。
500:服务器内部的错误,通常程序抛异常
2。同理响应头也是键值对的形式,服务器通过响应头来控制浏览器接下来的行为,不同的头浏览器操作不同。
location:指定响应的路径,需要与状态码302配合,实现重定向,来跳转界面。
Comntent-Type 响应正文的类型(MIME类型) 取值:text/html;charset=UTF-8
Content-Disposition 通过浏览器以 下载的方式来解析正文 取值:attachment:filename=xx.zip
Set-Cookie 与会话相关的技术,服务器向浏览器写入cookie
3.响应体,就是服务器发送给浏览器的正文。
三:WEB开发与Tomcat概述
1.web 通信,采用的是B/S通信模式,通过HTTP来进行通信,通过浏览器地址栏来编写URL,向服务器发送request,服务器根据request来返回一个response,将服务器中的资源发送给浏览器。
2.软件架构的方式
C/S架构 Client/Server 客户端/服务器,要求客服端电脑安装一个客服端程序。这就是我们最常用的,qq LOL。
优点:用户体验很好,信息安全控制较强,部分计算功能在客服端完成减轻了服务器对数据的负荷。
缺点:占用了我们的硬盘空间(要下载安装),维护起来很麻烦(更新),安装使用依赖其他条件
B/S架构 Browser/Server 浏览器/服务器。通过浏览器和服务器交互。比如淘宝和京东电脑就没有客户端
优点:维护和更新很简单,无缝升级。不要安装程序,内置了有浏览器。
缺点:动画效果就比较受限制,体验不太好,信息安装控制较差,需要安装U盾来给网银加密。应用的服务器运行数据负荷太重,大部分计算都是在服务器端,增加了服务器压力,容易崩,使用Ajax改善。
3.web资源的介绍
静态资源:html css js img图片
动态资源:JSP/Servlet ASP PHP
4.URL请求路径
他是一种资源的定位符,格式如下
协议://用户名:密码@域名:端口号/资源的位置?参数=值#标志
协议,http,https,ftp等。域名通常采用IP地址,都可以访问到WEB资源。
5.TomCat介绍和作用
Tomcat下载安装教程在我的学习日记一,绑定IDEA 和Tomcat有详解。
Tomcat是一个免费开源的服务器,属于轻量级,是开发和调试JSP程序的首选。
支持Servlet和JSP的规范,在开发中一般使用Tomcat来处理Servlet和jsp,使用apache服务器来处理html页面。及apache和Tomcat结合一起使用。
6。web项目目录结构
WEB项目存在一定的目录结构,具体结构如下:
项目名称 (webapps文件夹)
静态资源:html,css,js
**WEB-INF(不能直接通过浏览器进行访问)
web.xml当前WEB项目的核心配置
lib 当前WEB项目所需要的第三方jar包的存放位置(然后导入IDEA设置中)
classes JAVA源码编译后生成class文件的存放位置**