• Java-Wed 初认识


    解析HTTP协议:
     HTTP是一种超文本传送协议(HyperTextTransferProtocol),是一套计算机在网络中通信的一种规则。
     在TCP/IP体系结构中,HTTP属于应用层协议,位于TCP/IP协议的顶层。HTTP是一种无状态的协议,意思是Web浏览器(客户端)和Web服务器之间不需要建立持久的链接。整个过程就当是一个客户端向服务器发送一个请求(Request),然后Web服务器返回一个响应(Response),之后就关闭了。

    HTTP定义的事物处理由以下四个步骤组成:
     1.客户端和Web服务器建立连接
     2.客户端发送HTTP请求
     3.服务器端收客户端的HTTP请求,生成HTTP响应回发
     4.服务器端关闭连接。我会的解析回发响应。恢复页面。

    HTTP的格式如下:
     http://bost(主机)[" : " post(端口)][abs_path(绝对路径)]


    HTTP协议的特点:
     1.支持客户/服务器模式
     2.简单快速
     3.灵活(允许被传输任意类型)
     4.无连接(仅仅只是发送请求的时候连接,响应完毕就关闭连接)
     5.无状态(可以传送任何方法和路径,并且不会处理事务和保存)


    -------------------------------------------分割一个线-----------------------------------------------

    发送请求信息:
     1.请求行:
      请求行是一个ASCII文本行,由三个标记组成:HTTP方法、请求的URL、HTTP版本,中间用空格分开。列如:
       GET/LookBook/index.html HTTP/1.0
      在HTTP版本1.1中,定义有八种可能的HTTP请求方法:
       1.GET:用于向服务器检索资源
       2.POST:用于向服务器发送数据,并且要求指定的URL处理
       3.HEAD:与GET方法相同,服务器只返回状态行和标头,并不返回请求文档
       4.PUT:请求服务器保存请求数据作为指定URL新内容
       5.DELETE:请求服务器删除URL中命名的资源
       6.OPTIONS:请求关于服务器支持的请求方法信息
       7.TRACE:请求Web我完全反馈HTTP请求和其标头
       8.CONNECT:己文档化但当前为实现的一个方法,预留做隧道处理

      以下方式的HTTP请求为GET方法:
       1.在浏览器地址栏输入URL 
       2.在当前网页上点击HTML连接
       3.在HTML表单中设置表单的method='get' 并且提交表单
       4.在HTML表单中没有设置表单的method属性 提交表单(如果不设置method属性,默认为get方法)
     2.请求头:
      HTTP协议使用HTTP头来传递请求的元信息、HTTP是一个用冒号分隔的名称/值对,冒号前面是HTTP的名称,后面是HTTP的值。
     3.空行:
      发送回车符合退行,通知服务器以下不再有请求头
     4.消息体:
      HTTP请求中带有查询字符串时,如果是CET方法,查询字符串或者表单数据附加在请求行中,消息体没有内容。如果是POST方法,查询字符串或表单数据就添加在消息体中。

    -------------------------------------------分割一个线-----------------------------------------------

    回送响应信息:
     HTTP响应包括:状态行、响应头、消息体以及分割消息头和响应头的一个空行
     1.状态行:
      响应状态码是一个三位的数字,分为以下几种:
       1. 1xx:信息,请求收到,继续处理
       2. 2xx:成功,行被成功的接受,理解和采纳
       3. 3xx:重定向(解决不了的问题,从新解决),为了完成请求,必须进一步执行的动作
       4. 4xx:客户端错误,请求包含语法错误或请求无法实现
       5. 5xx:服务器错误,服务器不能实现一种明显无效的请求
      常见的响应码:
       200:客户端请求成功
       400:客户端请求语法错误,不能被服务器所理解
       401:请求未经授权
       403:服务器收到请求,拒绝服务
       404:请求资源不存在
       500:服务器发生了不可预知的错误
       503:服务器不能处理,以后可能恢复
     2.响应头:
      在响应头中,最重要HTTP头是Content-Type,它指定MIME类型。
     3.空白行:
      最后响应头之后是一个空行,发送回车符合退行,表明以下不再有响应头
     4.消息体:
      要发送客户端的HTML文档或其他要显示的内容等。Wed服务器要把发送给客户端的文档信息放在消息体中


    -------------------------------------------分割一个线----------------------------------------------- 


    Web服务器的缺陷(原始Web服务器):
     Web服务器是被实际用来向客户端提供HTTP服务的,它只能向客户端提供静态网页内容。假如我们需要动态页面(在发出请求之前还不存在的动态创建的页面),而且还希望把通过表单或者查询字符串提交的数据保存袋服务器上(即写一个文件或者数据库中),对此原始Web 无法解决。


    服务器端网页编程:
     包括最早的CGI技术、微软的ASP和ASP.NET技术、基于Java的Servlet/JSP技术等。

    最早的解决方案CGI:
     CGI,即通过网关接口(Commom Gateway Interface),是最早用于创建动态服务器端内容的一种技术。CGI成功为创建动态网页的标准方法。CGI的最大优点是他可以使用Shell、Perl、C、PHP、Python等编写。但是并不完美。在CGI运行时,每次请求回会打开一个CGI进程的方式严重消耗了服务器的内存。

    JAVA的解决方案:
     在Java的世界里,Servle以及Web容器,被设计用来解决CGI的问题,为Web开发者创建一个健壮的服务器环境。
     Servle:
      Servle是一个与平台无关的java类,能够编译成平台中立的字节码,从而被基于java技术的Web服务器动态装载和运行。
    每一个WEB应用都有必须要有WEB-INF目录、web.xml文件、classes目录。即:
     AppName
     AppNameWEB-INF
     AppNameWEB-INFWeb.xml
     AppNameWEB-INFclasses

       

  • 相关阅读:
    Sql中CHARINDEX用法
    当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式
    Windows Server 2012 R2安装.NET4.7.2服务问题集合
    详细实例全面解析SQL存储过程
    MySQL 存储过程
    华为远程登陆配置
    数据平台环境部署(mysql、docker、nginx)
    ISIS的路由渗透
    华为模拟器的安装失败(出现40、41、42代码错误,Oracle VM VirtualBox安装出现严重错误以及一直处于开机状态)
    华为模拟器配置动态ospf--虚拟链路、rip重分布、static重分布
  • 原文地址:https://www.cnblogs.com/chenyangpeng/p/5591958.html
Copyright © 2020-2023  润新知