Web开发

web应用概述

WEB在英语中web即表示蜘蛛网的意思,它用于表示Internet主机上(服务器)供外界访问的资源

Web应用程序是一种可以通过Web访问的应用程序。Web应用程序的一个最大好处是用户很容易访问应用程序。用户只需要有浏览器即可,不需要再安装其他软件。
应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览器端/服务器端应用程序,这类应用程序一般借助服务器运行,需要IE等浏览器来查看运行结果。

B/S架构

浏览器/服务器架构Browser/Server简称B/S能够很好地应用在广域网上,成为越来越多的企业的选择。

  • 浏览器/服务器架构相对于其他几种应用程序体系结构的优点:
    这种架构采用Internet上标准的通信协议(通常是TCP/IP协议)作为客户机同服务器通信的协议。这样可以使位于Internet任意位置的人都能够正常访问服务器。对于服务器来说,通过相应的Web服务和数据库服务可以对数据进行处理。对外采用标准的通信协议,以便共享
  • 数据在服务器上对数据进行处理,就处理的结果生成网页,以方便客户端直接下载
  • 在客户机上对数据的处理被进一步简化,将浏览器作为客户端的应用程序,以实现对数据的显示。不再需要为客户端单独编写和安装其他类型的应用程序。这样,在客户端只需要安装一套内置浏览器的操作系统,如Windows或直接安装一套浏览器,就可以实现服务器上数据的访问。而浏览器是计算机的标准设备。

web应用资源

Internet上供外界访问的Web资源分为:

  • 静态web资源(如html、css、js页面):指web页面中供人们浏览的数据始终是不变
  • 动态web资源(如JSP、PHP、ASP):指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。

常用静态web资源开发技术:html、css、js技术

常用动态web资源开发技术: JSP/Servlet(JAVA)、ASP(微软.net)、PHP等

javaweb就是使用java技术开发web页面,供浏览器访问的项目。

  • Web是一种分布式应用架构,旨在共享分布在网络上的各个Web服务器中的所有相互链接信息
  • Web采用客户/服务器通信模式,客户与服务器之间用HTTP协议通信
  • Web使用超级文本技术(HTML)来链接网络上的信息。信息存放在服务器端,客户机通过浏览器(如IE、Chrome)就可以查找网络中的各个Web服务器上的信息。

与Web相关的一个概念是WWW(World Wide Web)。WWW是指全球范围内的Web,它以Internet为网络平台,Internet是来自世界各地的众多相互连接的计算机和其他设备的集合,而WWW则是Internet上
的一种分布式应用结构。

归纳起来,Web具有3个特征:

  • 用超级文本技术HTML来表达信息,以及建立信息与信息的链接
  • 用统一资源定位技术URL来实现网络上信息的精确定位
  • 用网络应用层协议HTTP来规范浏览器与Web服务器之间的通信过程。

HTTP协议

  • HTTP是HyperText Transfer Protocol(超文本传输协议)的简写,传输HTML文件
  • 用于定义WEB浏览器与WEB服务器之间交换数据的过程及数据本身的格式。
  • 核心特征:无状态性、断开式连接

web应用详解

客户端根据用户输入的地址信息请求服务器,服务器在接收到用户的请求后进行处理,然后将处理结果响应给客户端,客户端将响应结果渲染显示给用户—请求响应模型

  • 请求:客户端根据用户地址信息将数据发送给服务器的过程
  • 响应:服务器将请求的处理结果发送给浏览器的过程
  • 协议:是指通信的双方,在通信流程或内容格式上,共同遵守的标准

web应用问题

客户端也就是浏览器有很多的,服务器的版本也是有很多的。如何实现不同版本的浏览器和不同版本的服务器之间的数据交互呢?

解决:规范浏览器和服务器数据交互的格式

实现:HTTP协议

简介HTTP协议

超文本传输协议Hyper Text Transfer Protocol是互联网上应用最为广泛的一种网络协议,是互联网的基础协议,也是网页开发的必备知识。Http协议是TCP/IP协议簇中应用层协议,实际上就是在TCP数据传输的基础上添加了数据传输的格式规定。

是一个基于请求与响应模式的、无状态的的协议,基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。基于HTTP协议的客户/服务器模式的信息交换过程,它分四个过程:建立连接、发送请求信息、发送响应信息、关闭连接。

作用:规范了浏览器和服务器的数据交互

特点:

1、简单快速,由于协议简单,使用http服务器的程序规模小,因而通信速度很快,适用于分布式超媒体信息系统

请求方法有GET、POST、PUT、DELETE、HEAD、OPTIONS、TRACE、CONNECT总8种

  • OPTIONS返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发 送‘*’的请求来测试服务器的功能性
  • HEAD向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息
  • GET向特定的资源发出请求。它本质就是发送一个请求来取得服务器上的某一资源。资源通
  • 过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求 中,永远不会包含呈现数据
  • POST向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改
  • PUT向指定资源位置上传其最新内容
  • DELETE请求服务器删除Request-URL所标识的资源
  • TRACE回显服务器收到的请求,主要用于测试或诊断
  • CONNECT是HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器

get和post请求

在http协议中的两种常见的传参方法get/post,例如
get和post的共同点:get提交和post提交都是将数据发送到服务器端,只是他们的提交的方式不一样

  • 1、语义不同。其中GET一般用于获取/查询资源信息,而POST一般用于更新资源信息[RESTful]
  • 2、实际上传输数据时method和data没有任何关系,但是get特定浏览器和服务器对URL长度有限制, 一般采用的是数据包头的方式传输数据,只能传输ASCII编码字符,一般上限为2K;post采用数据包体的 方式传输数据,可以传输二进制数据内容,理论上说没有上限,一般编程上限是64K。
  • 3、安全性问题,get传递数据会被缓存,能够存储在浏览器的历史记录中,所以安全性差,传递敏感数 据一般采用post
  • 4、从请求反应速度get比post效率高,get要求服务器立即处理请求,而 post请求可能形成一个队列请 求。

HTTP协议之响应

在接收和解释请求消息后,服务器返回一个HTTP响应消息。HTTP响应也是由三个部分组成,分别是:
状态行、消息报头、响应正文。最重要的是响应状态码。

状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值

  • 1xx指示信息–表示请求已接收,继续处理
  • 2xx成功–表示请求已被成功接收、理解、接受
  • 3xx重定向–要完成请求必须进行更进一步的操作
  • 4xx客户端错误–请求有语法错误或请求无法实
  • 5xx服务器端错误–服务器未能实现合法的请求

常见状态代码:

  • 200 OK客户端请求成功
  • 304 NOT MODIFIED该资源在上次请求之后没有任何修改,这通常用于浏览器的缓存机制
  • 400 Bad Request客户端请求有语法错误,不能被服务器所理解
  • 401 Unauthorized请求未经授权
  • 403 Forbidden服务器收到请求,但是拒绝提供服务
  • 404 Not Found请求资源不存在,如输入了错误的URL
  • 500 Internal Server Error服务器发生不可预期的错误。

版权声明:本文为weixin_51462573原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。