• Servlet与通信协议概述


    • 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

  • 相关阅读:
    staticmethod classmethod
    Cache Buffer 区别
    Apache 各启动方式的差别
    网段,掩码
    容器镜像国内下载加速----借助阿里
    import 本质
    数字签名证书的事儿
    java中的sql语句中如果有like怎么写
    VMware+centos7克隆多个虚拟机
    使用Ajax轮询模拟简单的站内信箱(消息管理)功能
  • 原文地址:https://www.cnblogs.com/jixiegongdi/p/13633055.html
Copyright © 2020-2023  润新知