Javaweb(一)网络基础篇
前言
依旧依旧是入门级教程,内容可能比较lowb,见谅
这篇文章更多的介绍了网络基础,(也只是挑重点介绍
建议先观看上面的教程再看来了解javaweb哦
当我们打开浏览器,输入网址,提前被准备好的内容就被返回到浏览器。我们电脑安装的浏览器就是①客户端,提供内容的一方就是①服务端。我们作为客户,需要安装客户端软件,也就是浏览器,而作为提供内容的一方也需要安装服务器软件,也就是②web服务器软件,安装了这些软件的计算机称为服务器。客户端和服务端之间的通讯依赖于③TCP/IP协议以及其他④网络基础,以保证正常的沟通。
一、客户端、服务端
所谓的客户端就是我们电脑安装的浏览器。我们作为客户想要访问网站,输入网址,客户端发送请求给服务端,中间进行一系列操作,服务端返回我们想要访问的内容,以各种形式呈现在客户端上。
二、web
1.概念
- web,就是网页的意思,www.baidu.com
- 静态web(html、css):所有人看到的数据都是不会变的
- 动态web(Servlet/JSP、PHP):所有人看到的消息会变化 - web应用程序:可以提供客户端访问的程序
- 例如a.html,b.html等多个web资源会被放到一个文件夹下存放到服务器里,由服务器统一管理给外界访问
- 一个web应用包含多部分- html、css
- jsp,servlet
- Java程序
- jar包
- 配置文件(properties)
2.web服务器
- Apache:Apache支持模块多,性能稳定,Apache本身是静态解析,适合静态HTML、图片等,但可以通过扩展脚本、模块等支持动态页面等。
- Nginx:Nginx是一个高性能的HTTP和反向代理服务器,其特点是占有内存少,并发能力强,易于开发,部署方便。Nginx 支持多语言通用服务器。
- Tomcat:Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,但是可以独立于Apache运行。
- IIS:微软出品,Windows中自带
3.Tomcat
官网:https://tomcat.apache.org/download-10.cgi
- 下载的话,我还是推荐zip
- 下载完成后解压
- 配置jdk环境变量
- 启动tomcat,访问本机ip地址就可以了
介绍一下tomcat里的文件
bin:——启动脚本文件:startup.bat ——关闭脚本文件:shutdown.bat
conf:tomcat配置(如果碰到乱码问题可以在里面的logging.properties配置)
lib:依赖的jar包
logs:日志
webapps:存放网站内容
4.Nginx
- 安装:
- 方法1:yum源安装
- yum install nginx
* 这种方式安装二进制文件在/usr/sbin,配置文件在/etc/nginx/(rpm -ql nginx 查看文件目录) - 方法2:编译安装
- yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel (安装编译器)
- wget http://nginx.org/download/nginx-1.20.1.tar.gz (cd到安装压缩包路径再执行此命令)
- tar -xf nginx-1.20.1.tar.gz (解压)
- cd nginx-1.20.1 (cd到解压之后的文件夹)
- ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_sub_module --with-http_gzip_static_module --with-pcre (其中第一个参数是安装nginx的路径,其他是模块)
- make
- make install - 最后访问本机ip出现nginx首页即是完成
- 方法1:yum源安装
- 环境变量(也可以不添加,直接去nginx的sbin里./nginx开启服务器也可以)
- vim /etc/profile
- 最后一行添加 PATH=$PATH:/usr/local/nginx/sbin export PATH
- 按 esc : wq enter
- source /etc/profile - 配置文件
nginx文件结构:
学会配置服务器:... #全局块:配置影响nginx全局的指令。志存放路径,配置文件引入,允许worker process数等 events { #events块:配置影响nginx服务器或与用户的网络连接 ... } http #http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置 { ... #http全局块 server #server块:配置虚拟主机的相关参数,一个http中可以有多个server。 { ... #server全局块 location [PATTERN] #location块:配置请求的路由,以及各种页面的处理情况。 { ... } location /a { # 如果url中有 /a 那么就会到html目录里寻找资源 root html; # html是当前location的资源目录 index index.html index.htm; # 如果url只有一个 /a 就会默认返回index.html } } server { ... } ... #http全局块 }
- 首先到/nginx/conf/nginx.conf
- sed -i '/^[[:space:]]*#/'d nginx.conf(去掉文件里不必要的注释)
- 进入文件,了解nginx文件结构
- 修改对应模块,并加入自己想要的html或文件
三、TCP/IP协议
总得来讲,TCP/IP/协议是协议簇的统称
其中tcp协议是传输层的协议,而我们要讲到的是http协议,他是应用层协议
1.http/https
- http:超文本传输协议,就是个简单的请求响应协议
- https:安全的超文本传输协议
2.http请求
- 请求行
- 请求方式:Get(携带参数少、大小有限,不安全,高效)、Post(与Get完全相反)
- 消息头:编码、缓存、连接等信息
3.http响应
- 响应体:编码、缓存、连接等信息
- 响应状态码:2**、3**、4**分别对应不同的状态
四、网络基础
客户端访问服务器的具体流程:
1.IP
每个IP唯一标识一台电脑,就像是我们的身份证一样
现在通常使用的IP地址是一个32bit的数字,也就是我们常说的IPv4标准,这32bit的数字分成四组,也就是常见的255.255.255.255的样式。
2.端口
端口:应用程序在计算机中的唯一标识,一个端口只能被唯一程序占用
3.DNS
DNS是个域名系统,是作为域名和IP地址相互映射的一个分布式数据库
4.服务器配置
Connector:监听端口
Engine:处理业务