• Servlet
  1. 是一个java应用程序,一个Servlet应用有一个或多个Servlet程序,JSP页面会被转换和编译成Servlet程序。
  2. Servlet应用无法独立运行,必须运行在Servlet容器中。Servlet容器将用户的请求传递给Servlet应用,并将结果返回给用户,由于大部分的Servlet应用都包含多个JSP页面,因此更准确滴说是“Servlet/JSP应用”。Apache Tomcat和Jetty是当前最流行的Servlet/JSP容器。
  3. Servlet、JSP只是Java企业版众多技术中的两个,其他的Java EE技术好友Java消息服务、企业Java对象、JavaServer Faces以及Java持久化等,要运行Java EE应用需要Java EE容器,例如GlassFish、JBoss等,当然可以讲Servlet应用部署到Java EE容器中,但是大题小作,Tomcat和Jetty更加轻量级。当然,Tomcat/Jetty无法运行EJB、JMS等Java EE中的其他技术。

  • 通信协议

web服务器和web客户端通过HTTP协议通信 ,除HTTP协议外,url还可以采用其他类型的协议,如ftp://marketing@ftp.example.org

  1. HTTP URL的格式如下:

protocol://[host.]domain[:port][/context][/resource][?queryString]

协议://[主机名.]域名[:端口号][/应用][资源路径][参数]

或者

protocol://[host.]IP address[:port][/context][/resource][?queryString]

解释与示例:

a. http://yahoo.com(无host),http://mail.yahoo.com(有host),www是默认的主机名,通常http://www.domainName会被映射到http://domainName

b. 一台计算机可以托管不止一个域名,因此不同的域名可能指向同一个IP,example.com/example.org无法被注册,被保留作为各类文档手册举例使用。另外还可以用ping命令来获取域名对应的IP地址。

c. HTTP的默认端口号是80,因此采用80端口号的Web服务无需输入端口号(HTTPS的默认端口号是443,tomcat的默认端口号是8080)

d. URl中的context部分用来代表应用名称,一台web服务器可以配置多个山下文(应用),其中一个可以配置为默认上下文,访问默认上下文中的资源,可以省略context,一个context中有一个或多个默认资源,通常为index.html,index.htm,default.htm,一个没有带资源名称的url通常指向默认资源。

   2.  HTTP请求

一个HTTP请求包含三部分内容:

·方法-URI-协议/版本

·请求头信息

·请求正文

第一行即为:post方法-uri-协议/版本

HTTP 1.1规范中定义了请求方法包含七种:get、post、head、options、put、delete、trace

HTTP请求头包含客户端环境以及实体内容等信息,如浏览器所设置的语言实体内容长度等。每个请求头用回车/换行(即CRLF)分隔。

CRLF用于分隔请求头和请求体,最后一行即为请求体。

 3.  HTTP响应

·协议-状态码-描述

·响应头信息

·响应正文

第一行:协议/版本-状态码-描述

响应头

响应正文和响应头之间用CRLF分隔

状态码示例:访问未授权的资源401,使用被禁用的请求方法405。

      1xx消息:这一类型的状态码,代表请求已被接受,需要继续处理;2xx成功;3xx重定向:这类状态码代表需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的Location域中指明。;  4xx客户端错误;5xx服务器错误;其他非官方状态码420,444,450,494

Servlet与通信协议概述的更多相关文章

  1. Servlet技术之——概述、实现、细节、获取资源、ServletConfig、ServletContext

    Servlet概述.实现.细节.获取资源.ServletConfig.ServletContext (一) Setvlet基本概述 (1) 什么是Servlet ? Servlet(Server Ap ...

  2. web开发技术中Servlet技术的概述

    1.servlet是什么:servlet是一个位于服务器端的java应用程序它可以像jsp一样,直接输出信息 servlet类必须继承HttpServlet类,否则,不能称为serlvet servl ...

  3. servlet和jsp概述

    1.servlet的作用 B/S系统:浏览器/服务器(Servlet的服务模式) Servlet是运行在web服务器或应用服务器上的java程序,它是一个中间层,负责连接来自web浏览器或其它HTTP ...

  4. 01 Servlet & Jsp 技术概述

    Servlet 介绍 servlet 是运行在web服务器或应用服务器上的java程序, 它是一个中间层, 负责连接来自web浏览器或其他http客户端的请求和HTTP服务器上的数据库或应用程序. 为 ...

  5. JSP&Servlet学习手册

    JSP&Servlet学习手册 沙琪玛 书 目录 JSP 指令... 3 书写方式... 3 指令列表... 3 JSP 内置对象... 3 内置对象特点... 3 常用内置对象... 3 o ...

  6. 通信协议演进与JCE协议详解

    一.通信协议概述通信协议是两个节点之间为了协同工作.实现信息交换,而协商的规则和约定,例如规定字节序,各个字段类型,使用什么压缩算法或加密算法等. 1.原始数据假设A和B通信,获取或设置用户基本资料, ...

  7. 7.22实习培训日志-JSP Servlet

    周末总结 今天下午在学习servlet,想自己做一个简单的例子,于是用idea新建一个maven项目,为了后文叙述方便,我们取名为项目1,点击create from archetype,我先选择org ...

  8. Web_Servlet—— Servlet生命周期

    第4章 Servlet生命周期(重要) 4.1 Servlet生命周期概述 1,应用程序中的对象不仅在空间上有层次结构的关系,在时间上也会因为处于程序运行过程中的不同阶段而表现出不同的状态和不同的行为 ...

  9. Spring mvc源码分析系列--Servlet的前世今生

    Spring mvc源码分析系列--Servlet的前世今生 概述 上一篇文章Spring mvc源码分析系列--前言挖了坑,但是由于最近需求繁忙,一直没有时间填坑.今天暂且来填一个小坑,这篇文章我们 ...

随机推荐

  1. dockerfile关键字

    DockerFile关键字(保留字指令) FORM:基础镜像,表明当前镜像是基于那么镜像的 MAINTAINER :镜像维护者的名字和邮箱地址 RUN:容器构建时需要用到的命令 EXPOSE:当前容器 ...

  2. 多测师讲解jmeter _接口请求_(003)高级讲师肖sir

    1.简单接口的请求 2. 3. 正则查看: 正则提取:在后置处理器中正则请求 设置:正则表达式 JSESSIONID提取器: Debug  sampler 总结:

  3. MeteoInfoLab脚本示例:加载图片和透明图层

    MeteoInfoLab的georead函数提供了读取shape文件.image文件(JPG.PNG等,需要有相应的地理定位文件)文件生成图层的功能(事实上shaperead也是同样的功能,不过函数名 ...

  4. MeteoInfo脚本示例:读取FY3A AOD HDF文件

    FY3A卫星有AOD产品数据,HDF格式,这里示例用MeteoInfo脚本程序读取和显示该类数据. 脚本程序如下: #----------------------------------------- ...

  5. SpringBoot+MongoDB实现物流订单系统

    码字不易,点赞收藏,养成习惯!原创作者公众号:bigsai.更多精彩期待与您分享!项目收录在github的MongoDB案例中,文章收录在回车课堂中如果没基础请看看前两篇(墙裂推荐)MongoDB从立 ...

  6. 解决python的requests库在使用过代理后出现拒绝连接的问题

    在使用过代理后,调用python的requests库出现拒绝连接的异常 问题 在windows10环境下,在使用代理(VPN)后.如果在python中调用requests库来地址访问时,有时会出现这样 ...

  7. Spark核心组件通识概览

    在说Spark之前,笔者在这里向对Spark感兴趣的小伙伴们建议,想要了解.学习.使用好Spark,Spark的官网是一个很好的工具,几乎能满足你大部分需求.同时,建议学习一下scala语言,主要基于 ...

  8. svn:E170001:Authorization failed解决

    eclipse添加svn资源库:打开eclipse→Window→SVN资源库→空白处右键新建资源库位置→填写正确的URL→finish 错误信息: 原因一:用户名或密码错误 因svn登录验证的账号信 ...

  9. 为C量身定制的Matrix库

    Matrix库的诞生让矩阵操作在C中也可以玩的很溜! 项目地址:https://github.com/SJ2050SJ/Matrix 文章目录 Matrix的设计框架 Matrix的上手简历 Matr ...

  10. 【Vue.js】简单说下vuejs中v-model自定义使用姿势

    vue.js中有个v-model的语法,可以实现双向绑定. 起初刚看到的时候,觉得很神奇.后面随着对vue.js的熟悉.发现这个其实是vue官方给我们实现的一个语法糖. 使用v-model的时候,vu ...