`
yangyou230
  • 浏览: 1650554 次
文章分类
社区版块
存档分类

JSP总结一:HTTP协议

 
阅读更多

Http协议由Tim Berners-Lee(被称为Web之父)发明。Http协议是完全基于文本的。浏览器通过http协议和服务器交互,默认是80端口。也可以显式的在URL中指出端口号。比如:http://localhost:8080/index.html。Http协议是一种无状态协议,并且不适合实时的获取数据的应用,因为过多实时的客户端和服务端的交互将会导致网络的频繁通信并受到带宽的限制。Http协议也不能告诉服务器客户的请求是如何产生的。这使得B/S比C/S实现上难度较大。
浏览器主要有两种命令和服务器交互,一种叫Get,另一种叫Post。逻辑上看,Get命令相当于读操作,向服务器发出请求,然后获取数据,Post命令向服务器发出执行某个动作的指令,有可能会修改服务器上的某些数据,因此是不可逆的操作。我们要防止用户不断的快速刷新页面引发的Post命令,通常一个提示对话框让用户确认操作是否真的有必要进行是一种常用的方法。
Get命令的格式:请求行,请求首部,请求主体(可选)。
GET /index.html HTTP/1.0
Host: www.gefionsoftware.com
User-Agent: Mozilla/4.5 [en] (WinNT;I)
Accept: image/gif, image/jpeg, image/pjpeg, image/ping,*/*
Accept-Language : en
Accept-Charset : iso-8859-1,*,utf-8
上面的例子里面,第一行是请求行,表明是GET命令,请求的资源是index.html ,协议是HTTP1.0。后面所有的都是请求首部,没有请求主体。
服务器的应答格式:状态行,应答首部,应答主体(可选)。
HTTP/1.0 200 OK
Last-Modified: Mon, 20 Dec 2001:23:26:42 GMT
Date: Tue, 11 Jan 2002 20:52:40 GMT
Status:200
Content-Type: text/html
Servlet-Engine: Tomcat Web Server/4.0.1
Content-Length: 59
<html>
<body>
<h1>Hello,world!</h1>
</body>
</html>
第一行是状态行,协议+状态值+状态描述。然后是应答首部,最后一段html代码是应答主体。我们经常能看到状态值为401的回应,代表未被授权。
如果应答主体比较复杂,里面包含了图片或者其他资源的链接。客户端会自动再发出一个Get命令获取相关资源。通常这些动作是并行的,不过每个浏览器的行为不一样:IE似乎表现成串行,而Firefox会先将第一个应答主体的内容显示出来,在逐个显示内嵌图片的应答主体。
Get命令还可加上请求参数。请求参数可以接着url后面,比如:
http://localhost:8080/index.html?a=2&b=7 ?开始,&间隔每个参数名称和值对。这种方式称为查询字符串。由于使用了?,=,&来作为分隔符,所以其他的字符在发送时都采用了URL编码方式,以避免混淆。
也可以将请求参数(格式相同)作为请求主体的一部分发送,不过这通常是Post命令的做法。
Post命令格式:
POST forecast HTTP/1.0
User-Agent:Mozilla/4.5 [en] (WinNT; I)
Accept: image/gif, image/jpeg, image/pjpeg,image/png, */*
Accept-language: en
Accept-charset: iso-88569-1,*,utf-8
city=Hermosa+Beach&state=CA
Post行中的 forecast是action的名称,后面是协议名。注意最后一行的查询字符串,没有?开头,并且是嵌入在Post主体中的。通常Post由form表单触发。比如上面的命令对应的form表单为:
<form action: “/forecast” method=”POST”>
City: <input name=”city” type=”text”>
State: <input name=”state” type=”text>
<p>
<input type=”SUBMIT”>
</form>
注意,这里第一行加了属性method=”POST”,如果不加的话,默认为GET。
HTTP协议的其它方法还有OPTIONS,HEAD,PUT,DELETE,TRACE等五个。但是这些方法使用的很少。
分享到:
评论

相关推荐

    J2EE学习笔记

    共享本人近几年学习工作总结文档。 J2EE学习笔录 2 第一章:JAVA的输入输出流 2 1.1:概述: 2 1.2:主要输入输出类 3 1.3例程 建立聊天室: 5 第二章:JAVA设计模式 18 2.1:创建型设计模式 19 2.2:结构型设计模式 32...

    java 面试题 总结

    动态INCLUDE用jsp:include动作实现 &lt;jsp:include page="included.jsp" flush="true" /&gt;它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE用include伪码实现,定不会检查所含文件的...

    JAVAWeb全课程笔记( html版)

    目录 HTML总结 CSS总结 JavaScript总结 DOM总结 tomcat服务器 servlet基础 ...HTTP 协议 文件上传和下载 Servlet事件监听器 JavaMail开发 (案例)Estore电子商城 软件国际化 Java基础加强 JQuery Ajax JSON

    32.商务安全邮箱-JSP+ Mysql设计与实现(可运行源码+数据库+lw)

    本文以实际运用为开发背景,运用软件工程原理和开发方法,采用jsp技术构建一个商务安全邮箱系统。整个开发过程首先对系统进行需求分析,得出系统主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统...

    Java语言基础下载

    HTTP协议基本概念及其特点 563 获取Cookie 565 HTTP响应报头--Response 566 会话管理 566 Servlet过滤器 569 Servlet监听器 576 内容总结 579 独立实践 580 第二十九章: Jsp 技术 583 学习目标 583 JSP介绍 584 JSP...

    javaEE+javaSE思维导图及图片

    http协议 图片及思维导图 IO流 图片及思维导图 JDBC 图片及思维导图 js+jquery+ajax 图片及思维导图 Jsp 图片及思维导图 Servlet 图片及思维导图 Spring 图片及思维导图 Struts 图片及思维导图 svn使用 图片及思维...

    Web服务器性能测试研究

    第一章 绪论 1 1.1 研究背景 1 1.2 国内外研究现状 1 1.3 论文主要研究内容 2 1.4 论文组织结构 3 1.5 本章小结 3 第二章 Web服务器概述 5 2.1 Web服务器的基本概念 5 2.2 HTTP协议的运作方式 6 2.2.1 HTTP协义基本...

    在tomcat中配置https的总结

    为了使网站或开发的软件使用https协议访问,使用keytool工具实现生成证书,并在tomcat1.6的配置文件上设置相应的代码实现访问地址形式如:https://localhost/login.jsp。

    网上拍卖系统的设计与实现

    本科生设计论文。 查重结果0.0%。...6.2 SSL协议提供的服务 23 6.3 ssl的工作原理 23 7 总结及体会 25 7.1 总结 25 7.2 体会 25 结 论 27 参考文献: 28 翻译部分 29 英文原文 29 中文译文 40 致 谢 48

    基于Java的人事管理系统的设计与实现.doc

    1.2 jsp技术 jsp(java server pages)是由sun micro systems公司倡导、许多公司参与一起建 立的一种动态网页技术标准,jsp技术有点类似asp技术。jsp技术在多个方面支持动态w eb页面的开发。可视化的编程方法。...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    各浏览器开发商已经达成协议,对XML实行严格而挑剔的解析,任何细小的错误都会被报告。你可以将上面的myfile.xml修改一下,比如将改为,然后用IE5直接打开myfile.xml,会得到一个出错信息页面: &lt;title&gt;XML轻松...

    OpenID简介及与struts2_spring_hibernate框架集成

    OpenID 是一个以用户为中心的数字身份识别框架,它具有开放、分散、自由等特性。 OpenID 的创建基于这样一个概念:我们可以通过 URI (又叫 URL 或网站地址)来认证一个网站的唯一身份,同理,我们也可以通过这种...

    在线考试系统文献综述

    利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,应用JSP技术,我开发了基于B/S模式多用户在线考试系统这一程序。它运用方便、操作简单,效率很高(同时,它要求计算机配置也很高,尤其...

    网管教程 从入门到精通软件篇.txt

    网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 Windows 2000)的控制台命令...JSP:HTML网页,其中包含有对一个Java servlet...

    基于SSM的房屋装修公司业务管理系统的设计与实现(论文+源码)-kaic.doc

    2.1 HTTP协议 2.2 Java语言与JDK开发环境 2.3 HTML网页技术 2.4 JSP脚本语言 2.5 Mysql数据库 2.6 企业级架构 第3章 系统分析 3.1 可行性分析 3.2 功能需求分析 3.3 非功能需求分析 3.4 安全性需求分析 3.4.1 系统的...

    Web服务器简介.pptx

    Tomcat服务器 Apache 旗下的Jakarta的开源项目 Servlet/JSP服务器 轻量级应用服务器 开源、稳定、资源占用小 Tomcat服务器介绍 Web服务器简介全文共12页,当前为第9页。 总结 Web服务器简介全文共12页,当前为第10...

    Android项目开发报告.doc

    1工程简介2 2开发环境2 2.1Android平台构造介绍2 2.2 MVC框架3 3功能介绍3 3.1登录3 3.2注册3 3.3添加3 3.4查询3 3.5主页面3 4数据库构造3 4.1...res文件夹3 5.6 AndroidManifest.xml3 6工程总结3 Android工程开发报告...

    Web安全深度剖析(张柄帅)

    《Web安全深度剖析》总结了当前流行的高危漏洞的形成原因、攻击手段及解决方案,并通过大量的示例代码复现漏洞原型,制作模拟环境,更好地帮助读者深入了解Web应用程序中存在的漏洞,防患于未然。 《Web安全深度剖析...

    Android项目开发报告.docx

    7 5.3 libs文件夹 8 5.4 bin文件夹 8 5.5 res文件夹 8 5.6 AndroidManifest.xml 8 6项目总结 8 Android项目开发报告全文共8页,当前为第1页。 Android项目开发报告全文共8页,当前为第1页。 Android项目开发报告 1...

Global site tag (gtag.js) - Google Analytics