HTTP协议的概念
HTTP(HyperText Transfer Protocol)是超文本传输协议的简称
它是一个基于请求与响应模式的、无状态的协议
借助HTTP协议,能够实现在客户端与服务器之间的建立连接,并在此基础实现数据通信
URL(Uniform Resource Locator):统一资源定位符的简称
作为Internet上标准的资源地址,用于完整地描述Internet上网页和其他资源的地址
URL语法:
protocol://hostname[:port]/path/[:parameters][?query]#fragment
protocol表示使用的传输协议,最常用的是HTTP协议
hostname是指存放资源的服务器域名系统主机名或IP地址
port表示使用的端口号,省略此项时,将使用默认端口号
path用来表示主机上的一个目录或文件地址
parameters用于指定特殊参数的可选项
query用于给动态网页传递参数
fragment用于指定网络资源中的片段
HTTP请求和响应
HTTP是一个无状态协议,它基于请求/响应模型
HTTP请求是用户使用浏览器与服务器建立一个连接,并将请求消息通过连接发送到HTTP服务器,以请求相应的资源
HTTP响应是服务器端接收用户发来的请求并处理后,返回带有请求资源的响应消息
HTTP请求:两种请求方式
get请求
从服务器中获取数据,每次在浏览器输入URL打开页面时,就是向服务器发送一个get请求
get请求可以通过表单(method=“get”)、连接“?和&符号来追加参数的”,如?name="**"&password="**"、JavaScript发送
get的响应速度非常快,请求信息的长度也有限制,URL传递参数,URL最大的长度为2k,所以get请求 比较长的文本信息是不能够以参数的形式传送的。
get用&符号容易被截获,所以get请求的安全性是比较差的,例如你通过它请求的地址大致的就知道它在请求什么东西,比如说刚才的name、password这些信息很容易被截获
post请求
只能通过表单发送,例如常用的,注册一个邮箱,注册一个会员等等,填一些个人信息,通过一些表单发送到服务端的。
post请求理论上市没有数据量限制的,与get请求相比,post请求可以发送更多的数据,通过httppost机制,将表单当中的内容放置在HTMLHeader内传送到ACTION属性所指定的URL地址
区别:
get请求是用来从服务器上获得数据,而post请求是用来向服务器上传递数据。
get请求将表单中数据按照variable=value(变量=值)的形式,添加到action所指向的URL地址后面,并且两者使用“?”连接而各个变量之间使用&连接,而POST请求是将表单中的数据放在Form的数据体中,按照变量和值对应的方式,传递到action所指向的URL
get请求是不安全的,POST的所有操作对用户来说都是不可见的。现在很多服务器,代理服务器或者用户代理都会将请求URL记录到日志文件中,这样的话请求的数据是很容易被看到的。隐私容易被第三方看到。
GET请求传输的数据量小;POST请求可以传输大量的数据
请求的传输数据量比较小并且对安全性要求不高时可以使用get请求,否则就需要用POST请求
请求和响应都是以消息的形式
HTTP响应是服务器根据请求返回信息,通常是HTML格式的。
可能只是从文件系统读取一个HTML文件作为内部处理
也可能将此请求转发至某个组件,由这个组件负责处理相应的资源
服务器接收的请求是一个使用数据库信息的程序,动态生成一个响应信息
不管服务器如何处理请求,对于用户的浏览器来说没有任何区别,浏览器关心的只是得到一个响应,这个响应就是我们看到的网页资源
所以不论是请求还是响应,都是以消息的形式来传送信息
HTTP消息
请求消息:
请求行
头消息
请求体
请求消息结束
响应信息:
协议和状态码
响应头
响应正文
200请求成功
100-199表示成功接受请求,要求客户端继续提交下一次请求才能完成整个处理过程
200-299表示成功接受请求并已完成整个处理过程
300-399为了完成请求:客户端进一步细化请求
400-499表示客户端的请求有错误
500-599表示服务器出现错误
web服务器
web服务器也称为www服务器
提供网上信息浏览服务
WWW是Internet的多媒体信息查询工具
发展最快和最广的服务
web服务器
www是环球信息网的缩写,也可以简称为Web,中文名字为万维网
web服务器的作用
web服务器可以解析HTTP协议
服务器端程序通常具有事务处理,数据库连接等功能
常用的Web服务器
UNIX和LINUX平台:
W3C、NCSA和APACHE等WEB服务器
Windows平台:IIS、Apache和Tomcat等web服务器
IIS是微软公司的Web服务器产品
IIS是一种Web服务组件
包括Web服务器,FTP服务器,NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面
Apache服务器是世界上用的最多的web服务器
Apatche服务器源于NCSAhttpd服务器
源代码开放
支持跨平台的应用
可移植性
常用的Web服务器
Tomcat服务器是一个开发源代码、运行servlet和JSP Web应用软件的容器
Tomcat服务器是根据servlet和JSP规范进行执行的,并且比绝大多数商业应用服务器要好
Tomcat服务器是基于Apache许可证下开发的自由软件
应用服务器的概念
应用服务器是指通过各种协议把商业逻辑暴露给客户端的程序
它提供了访问商业逻辑的途径以供客户端应用程序使用
能实现动态网页技术的服务器叫应用服务器
WebLogic
BEA WeblogicServer是一种多功能、基于标准的web应用服务器,为企业构建自己的应用提供了坚实的基础
特点:具有全面的功能、对开发标准的遵从性、多层架构、支持基于组件的开发
为构建集成化的企业级应用提供了稳固的基础
WebSphere服务器简介
是一种功能完善、开放的Web应用程序服务器
用于简历、部署和管理Internet和IntranetWeb应用程序的。
WebSphere针对以Web为中心的开发人员,他们都是在基本HTTP服务器和CGI编程技术上成长起来的
范围从简单到高级一直到企业级应用都非常合适,
针对以web为中心的开发人员,他们都是在基本HTTP服务器和CGI编程技术上成长起来的 ,IBM提供的这个WebSphere产品系列,它通过提供综合资源,可重复使用的组件,功能强大并易于使用的工具、以及它支持HTTP和IIOP通信的可伸缩运行环境来帮助这些用户从简单的Web应用程序转移到电子商务的世界
Tomcat服务器
最新的servlet和JSP规范总能在这上面得到体现
Tomcat服务器特点:
技术先进、性能稳定,而且免费
占用的系统资源小,扩展性好,支持负载均衡和邮件服务
Tomcat是一款非常著名的开源的Servlet/jsp容器,被用作Java Servlet和JavaServer Pages技术的官方参考实现
同一个服务器中,多个服务之间没有相关性