javaweb服务器
1.1、技术涵盖
ASP
- 直接嵌套java源码导致代码非常混乱
- 后期维护极难
- c#
- 微软公司
php
- PHP代码简单,跨平台,功能强大,
- 一般用于中小型网站,无法承受大访问量
jsp/servlet
- sun公司主推的B/S架构
- B/S:浏览器和服务器
- C/s:客户端和服务器
- jsp的本质就是servlet
- 高性能,高并发,高强度
1.2、服务器
服务器是一种被动的操作,用来处理用户的一些请求和一些响应信息
IIS
微软,windows自带
tomcat
- 是apache服务器的扩展
- 免费稳定,一般只用于中小型系统
- servlet和jsp规范总能在tomcat中得到体现
1.3、tomcat
1、下载
2、了解文件结构
3、启动
测试
http://localhost:8080/
1、java环境变量没有配置好
2、闪退问题:需要配置兼容
3、乱码问题:配置文件中设置
4、访问不到:8080端口被其他服务占用,在任务管理器关闭其即可
4、配置文件
可以配置启动的端口号(默认端口)
- tomcat:8008
- mysql:3306
- http:80
- https:443
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
可以配置主机名字
- 默认名字:localhost —>127.0.0.1
- 默认网站存放的位置:webapps
<Host name="www.wangwang.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
高难度面试题——网站时如何访问的?
1、什么是访问系统dns缓存:
- 有时候访问了一个网站之后浏览器会记住这个网站的域名对应ip,这个就是域名dns缓存
- mac访问网站必有dns缓存,但windows不一定.
2、怎么修改host文件:
- C:\Windows\System32\drivers\etc\hosts
- 第一种方法,对文件属性直接修改,在user用户中跟改权限,增加写权限
- 第二种方法,用火绒工具进行修改
5、发布web网站
- webapps就是服务器的目录文件夹
- 把写好的网站放到webapps中即可
--网站结构:
--webapps:Tomcat服务器的web目录
-ROOT:访问成功时出现的页面
-其他:主要是教程和文档
-exploit365:网站的目录名,在原来的域名后加上文件夹名字即可
- index.html
- static:主要放置静态文件
- css
- js
- img:
- WEB-INF
-web.xml
- lib: web应用所依赖的jar包
-classes:java程序: 其他程序文件
1. 4、http
1、http和https对比
-
什么是http
- HTTP是一个简单的请求响应协议,通常运行再tcp上。
- 超文本传输协议
- 超文本:图片,音乐,视频…
- 80端口
-
什么是https
- 在http上加了security(安全的)
- 443端口
2、http的两个时代
- http1.0
- HTTP/1.0:客户端连接web服务器后,只能获得一个web资源
- http2.0
- HTTP/1.1:客户端连接web服务器后,可以获得多个web资源
3、Http请求
- request
Request URL: https://www.baidu.com/ --访问地址
Request Method: GET -- get请求和post请求
Status Code: 200 OK -- 状态码
Remote Address: 112.80.248.76:443 --远程地址
- 请求行
请求方式:get/post
1、get方式:请求携带参数少,放在url中,不安全,高效
2、post方式:请求携带参数多,加密,安全,但不高效
- 消息头
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng;q=0.8,application/signed-exchange;v=b3;q=0.9 --告诉浏览器,它支持的数据类型
Accept-Encoding: gzip, deflate, br --支持哪种编码格式 GBK UTF-8 GB2312 ISO8859-1
Accept-Language: zh-CN,zh;q=0.9 -- 告诉浏览器,他的语言环境
Cache-Control: max-age=0 -- 缓存控制
Connection: keep-alive --告诉服务器,请求断开还是连接
//以上均同响应头
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36 -- 告诉服务器,这个浏览器的大致情况
4、Http响应
-
response
Cache-Control: private --缓存控制 Connection: keep-alive -- 保持tcp的长连接 Content-Encoding: gzip -- 文本编码格式 Content-Type: text/html;charset=utf-8 -- 读取文件类型
-
响应体
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng;q=0.8,application/signed-exchange;v=b3;q=0.9 --告诉浏览器,它支持的数据类型
Accept-Encoding: gzip, deflate, br --支持哪种编码格式 GBK UTF-8 GB2312 ISO8859-1
Accept-Language: zh-CN,zh;q=0.9 -- 告诉浏览器,他的语言环境
Cache-Control: max-age=0 -- 缓存控制
Connection: keep-alive --告诉服务器,请求断开还是连接
//以上均同请求行
HOST:主机.../.
Refresh:告诉客户端,多久刷新一次
Location:让网页重新定位
- 状态码
200:请求响应成功
3XX:请求重新定向(重新到我给你的新位置去)
4XX:找不到资源(404:资源不存在
5XX:服务器代码错误(500:代码错误;502:网关错误)