HTTP协议是web学习的核心!!!
学东东切忌只学配置,不学原理:只学会框架有什么用,要会自己写框架!!
web学习直接关系到J2EE的学习
一、HTTP 超文本传输协议 人类之所发展得如此快,就是因为有自己的语言
1、所谓超文本:即纯文本语言,不依赖于任何特定语言,任何语言都可以操作它(如java、c++)
2、传入:HTTP的应用价值在于传输
3、HTTP是无状态协议
基于请求/响应模型
服务器和客户端的交互仅限于请求/响应过程,结束之后便断开,在下一次请求服务器会认为新的客户端
二、要真正理解web工作原理,就必须彻底了解http协议
三、HTTP请求信息(浏览器信息)
1、请求行:GET/POST(流的组织(请求)方式) URL(地址+目录) 版本号
2、请求头:Host:客户端IP和端口
User-Agent:浏览器信息
Accept:客户端能接收的数据类型
Accept-encoding:是否支持压缩的流
Accept-charset:客户端字符编码集
3、空行:分割请求头和消息体
4、消息体:请求的参数
四、HTTP响应信息(服务器信息)
1、状态行:HTTP版本 服务器状态(比如:404找不到...) 描述信息
2、响应头
content-text:服务器发送信息的类型
date:发送时间
server:服务器类型
3、消息体:服务器发送给客户端的页面内容
五、模型
客户端-----通过socket建立连接-----服务器
客户端-----请求----->服务器
客户端<-----响应-----服务器
客户端-----断开-----服务器
下一次连接.......
六、传统服务器
缺点:无法生成动态页面
于是加入一个辅助应用:通过客户端提交的参数来选择服务类型
七、辅助应用
1、在获取请求之后先执行一段代码,再返回页面
2、根据客户端请求参数来调用辅助应用
3、类似word文档,需要注册(注册表)
八、对于服务器的缺点的解决方案
1、最早的解决方案:CGI通用网关接口(一种与外部程序通讯的标准)
原理:web服务器调用外部程序,再将返回的结果返回客户端
CGI的缺点:每次客户端请求都要在服务器上开启一个进程,这样会大大消耗服务器资源
更好的解决方案是:开启服务器进程一次,就处理所有请求
2、java的解决方案(解决CGI的缺点:其实CGI是现在web服务器的鼻祖):servlet+web容器
servlet是一个与平台无关的java接口
理解servlet,是掌握javaweb编程的核心
sevlet受控于另一个java应用程序,它就是web容器
servlet+web容器:为每个请求开启一个线程,线程占用进程的一部分
sevlet没有main方法,说明它要被别的类web容器调用
servlet到web容器需要用xml文件注册,而xml的解析由web容器封装
九、web容器对servlet的支持包括:
1、通讯支持:解析流,封装请求/响应对象
2、生命周期管理:我们书写的servlet由容器来调用,也就是sevlet的产生和消亡生命周期
3、多线程支持:解决线程同步,开启关闭等,由容器厂商来做
4、JSP支持:翻译页面
5、处理安全性:处理异常等等,比如:servlet抛出异常,由web容器来处理
总结:web容器主要是用于,给处于容器中的应用程序组件(servlet、jsp)提供一个环境,
使sevlet和jsp直接和容器中的环境变量交互。
这样我们就可以把注意力放在,用servlet实现业务逻辑上,不必为
系统底层服(如线程管理,安全性和网络通信等)务编写代码。
十、web容器的实现
根据sevlet的规范来实现web容器
servlet规范之定义了一个容器必须实现的标准功能。那么不同的容器厂商就有了更多的容器实现选择:
Tomcat
Jboss
WebLogic
WebSphere
Orecle9i AS
分享到:
相关推荐
### HTTP协议和WEB服务器工作原理 #### 一、HTTP协议详解 HTTP协议,即超文本传输协议(HyperText Transfer Protocol),是互联网应用最为广泛的一种网络协议。它是一种用于分布式、协作式和超媒体信息系统的应用层...
WEB 浏览器工作原理是基于客户机/服务器计算模型,由 Web 浏览器(客户机)和 Web 服务器(服务器)构成,两者之间采用超文本传送协议(HTTP)进行通信。HTTP 协议是基于 TCP/IP 协议之上的协议,是 Web 浏览器和 ...
总结,HTTP协议是Web开发的基础,理解其原理有助于提升开发效率和网站性能。不断发展的HTTP标准,如HTTP/2、HTTP/3,提供了更高效、安全的通信方式,Web开发工程师应持续关注并学习。在实际工作中,合理运用HTTP特性...
HTTP协议是Web开发中最基础也是最重要的协议之一,了解其工作原理和技术细节对于成为一名优秀的Web开发工程师至关重要。无论是前端还是后端开发人员,都应该深入学习HTTP协议的相关知识,这样才能更好地应对实际开发...
HTTP 协议简介及其工作原理 HTTP 协议简介 超文本传输协议(HTTP)是万维网应用层的协议,由两个程序实现:一个是客户端程序(一般称为浏览器),另一个是服务器(常称 Web 服务器)。这两个通常运行在不同的主机...
Web工作原理的理解对于任何Java Web开发者来说都至关重要。本文将深入探讨Java Web的基本概念,工作流程以及相关工具。 首先,理解Web应用的基础——HTTP协议。HTTP(超文本传输协议)是客户端和服务器之间通信的...
Web应用安全:HTTP协议的工作原理.pptx
### Web浏览器的工作原理 #### 浏览器概览与重要性 浏览器作为互联网时代不可或缺的工具之一,几乎已经成为人们日常生活中使用频率最高的软件。本文旨在深入解析主流浏览器的工作原理,帮助开发者更好地理解从输入...
通过对HTTP请求报文和响应报文的详细分析,我们可以理解HTTP协议的基本结构和工作原理。 **HTTP协议基础** HTTP(超文本传输协议)是应用层协议,用于客户端和服务器之间的通信。它基于TCP/IP协议栈,以请求/响应...
HTTP(超文本传输协议)是互联网上...总结来说,HTTP通信协议的工作原理涉及域名解析、TCP连接建立、HTTP请求发送、服务器处理和响应、资源加载以及连接关闭。理解这一过程对于开发Web应用程序和优化网络性能至关重要。
【标题】"NET精髓Web服务原理与开发"主要聚焦于.NET框架下的Web服务技术,这是一种基于互联网协议(如HTTP)的通信方式,用于使不同系统间的数据交换变得简单且标准化。Web服务允许应用程序通过网络共享功能,使得...
### 超文本传输协议(HTTP)工作原理详解 #### 一、超文本传输协议概述 **超文本传输协议(HTTP)**是互联网上最常用的一种网络协议,它定义了客户端(通常是用户的Web浏览器)与服务器之间如何进行交互,以获取、...
在深入探讨基于Java的Web服务器工作原理之前,我们需要理解Web服务器的基本概念和Java技术栈的关键组件。 首先,Web服务器是一种软件,其主要任务是接收来自客户端(如浏览器)的HTTP请求,处理这些请求,然后向...
本文将深入解析Web工作原理,通过实例来帮助你理解这一过程。我们将探讨HTTP协议、服务器架构、以及客户端与服务器之间的交互。 首先,让我们从HTTP(超文本传输协议)说起。HTTP是Web通信的核心,它定义了客户端...
HTTP(超文本传输协议,Hypertext Transfer Protocol)是互联网上应用最为广泛的一种网络协议,它是Web服务的基础,用于在客户端(通常是浏览器...理解HTTP的工作原理对于优化Web应用的性能和网络资源的利用至关重要。
- 书中详细讨论了TCP/IP协议及DNS的工作原理和在网络中的应用。 2. HTTP/1.0的设计及与TCP的交互 - HTTP/1.0是Web的基础协议,用于定义浏览器与服务器之间的通信规则。 - 书中分析了HTTP/1.0的设计特点,以及它...
《Web服务原理和技术》一书深入探讨了面向服务的体系结构(SOA)相关的概念、原理、技术以及支撑这种体系结构所需的基础架构和标准。SOA是构建和设计Web服务的基础,它允许各种不同的服务通过网络以一种独立于平台和...
Java Web服务器原理主要涉及到Web应用的部署、运行和管理,其中Tomcat是一个广泛使用的开源Java Servlet容器,它是Java EE(现在称为Jakarta EE)的一部分。本文将深入探讨Java Web服务器的工作原理,特别是Tomcat的...
本项目“HTTP-Web-Server.zip”涉及C++语言实现一个简单的HTTP Web服务器,并进行了调试,旨在帮助我们理解HTTP协议的工作原理以及如何在实际编程中应用。 首先,我们需要了解HTTP的基本概念。HTTP是一种无状态、...