JavaWeb工作原理

来源:互联网 发布:电脑软件网站 编辑:程序博客网 时间:2024/06/07 01:35

什么是HTTP协议

全称超文本传输协议。其中超文本表示发送方和接收方传输的内容不仅仅是文本数据,而且还包括图片,视频,音频等多种媒体资源。传输意味着该协议是用于数据交互的协议,是发送方和接收方共同遵守的传输规则,只有这样,接收方才能从发送的信息中解析出感兴趣的数据

 

HTTP遵循请求/响应模型,并且在一次请求和响应完成后,连接会断开,以释放服务器的内存资源,所以HTTP协议是一种无状态协议----socket.close();

HTTP端口号是80端口

 

HTTP处理流程:

客户端和Web服务器建立连接  --- TCP

客户端向服务器发送HTTP请求

生成HTTP响应回发

关闭连接

 

协议内容:

1,请求行:描述请求方式 请求url路径 协议版本

2,请求头:以键值对方式描述客户端相关信息

3,空行:标记请求头的结束和消息体的开始

4,消息体:(只对POST有效)描述客户端提交给服务器的表单数据

GET /data/2.jpg HTTP/1.1

Host: localhost:8088

Connection: keep-alive

Upgrade-Insecure-Requests: 1

User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

Accept-Encoding: gzip, deflate, sdch

Accept-Language: zh-CN,zh;q=0.8

 

HTTP协议响应信息分为四部分:

状态行:描述HTTP协议版本,状态码,以及状态描述

响应头:以键值对方式描述服务器相关信息

空行:表示响应头结束和消息体开始

消息体:描述客户端浏览器需要展示的内容

 

传统的Web服务器,在产生响应时,只能产生静态的html内容。极大的影响响应信息的灵活性。解决方案是:在Web服务器基础上,添加一个辅助应用,辅助应用允许服务器在接收到请求信息之后,做一些业务逻辑处理,然后动态产生响应信息

 

CGI技术:

全称叫通用网关接口,是辅助应用的一种解决方案。

优点:可以使用多种语言编写,

工作原理:每当有一个客户端向服务器发出请求,服务器会开启一个CGI进程处理请求,当有很多请求时会很消耗服务器内存资源,甚至会导致服务器死机,不支持高并发

 

按照servlet规定,Web应用程序中的WEB-INF目录,是不能被客户端直接访问,所以存放一些隐秘的信息

 

Tomcat的目录结构:

Bin:用于存放tomcat的可执行文件。其中startup.bat用于启动tomcat。shutdown.bat用于关闭tomcat。

Conf:用于存放tomcat的配置文件。其中server.xml配置tomcat服务器相关信息

<Connector port=”8080”protocol=”HTTP/1.1”......用于定义tomcat启动端口

<Host appBase=”webapps”......用于定义tomcat中web应用程序存放的目录

Web.xml用于配置tomcat中web的相关信息

 

Lib:用于存放tomcat运行时,需要使用的jar包

Logs:用于存放日志文件

Temp:用于存放临时文件

Webapps:用于存放WEB应用程序

Work: 用于jsp支持

0 0
原创粉丝点击