java退行_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\

AppName\WEB-INF

AppName\WEB-INF\Web.xml

AppName\WEB-INF\classes

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值