web开发技术概述

1.1web的基本概念

1.HTTP协议

    HTTP协议(HTTP,超文本传输协议)是一个简单的请求响应协议,通常运行在TCP协议之上,该协议基于客户端/服务器模式,c/s之间是一次性的连接,每次连接只处理一个请求,服务器回应请求后立即关闭连接,下次请求只能重新建立连接。(是因为web服务器面向大量的internet大量用户只能提供给有限次的连接,即使释放连接,可以提高执行效率。)且还是一种面向对象协议,可以传输任意类型的数据,通过数据类型和长度来标识数据内容和大小,而且允许数据被压缩。

请求报文

  • 请求报文是客户端发往服务器的数据块,比如:用户在浏览器中访问百度URL输入www.baidu.com的时候,浏览器与web服务器的执行过程如下:
  • 浏览器分析URL,并向DNS服务器请求解析”www.baidu.com“的IP地址。
  • DNS服务器将解析出来的IP地址返回给浏览器。
  • 浏览器根据IP地址与web服务器建立连接。
  • 浏览器使用GET方法过去服务器根目录上的目录资源。
  • 服务器请求处理并返回一个响应报文,将根目录文档发给浏览器。
  • 浏览器经过处理显示服务器发送的内容。

HTTP协议常见的请求方法

  1. OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性
  2. HEAD:向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。
  3. GET:向特定的资源发出请求。它本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求中,永远不会包含呈现数据。
  4. POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
  5. PUT:向指定资源位置上传其最新内容
  6. DELETE:请求服务器删除Request-URL所标识的资源
  7. TRACE:回显服务器收到的请求,主要用于测试或诊断

GET和POST的区别:

  1. get请求无消息体,只能携带少量数据;
  2. post请求有消息体,可以携带大量数据;
  3. get请求将数据放在url地址中;
  4. post请求将数据放在消息体中;
  5. GET请求请提交的数据放置在HTTP请求协议头中,而POST提交的数据则放在实体数据中;

2.Web服务器

Web服务器也称为WWW服务器或者HTTP服务器,主要功能就是提供网上信息浏览服务。

常见的Web 服务器有MicrosoftInternet Information Service(IIS)、Apache、Netscape Web Server 等。

  • Apache:Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
  • Nginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力。
  • IIS是英文Internet Information Server的缩写,译成中文就是"Internet信息服务"的意思。它是微软公司主推的服务器,内置的安全特性,建立强大,灵活而安全的Internet和Intranet站点。
  • Lighttpd是由德国人 Jan Kneschke 领导开发的,基于BSD许可的开源WEB服务器软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境。具有非常低的内存开销,CPU占用率低,效能好,以及丰富的模块等特点。
  • Resin提供了最快的jsp/servlets运行平台。在java和javascript的支持下,Resin可以为任务灵活选用合适的开发语言。Resin的一种先进的语言XSL(XML stylesheet language)可以使得形式和内容相分离。
  • Jetty是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。
  •  WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。  WebLogic Server拥有处理关键Web应用系统问题所需的性能、可扩展性和高可用性。
  • Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。Servlet 和JSP 规范总是能在Tomcat 中得到体现。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

3.常见的web开发技术

  •  PHP体系:超文本预处理器,是开发动态网页的服务端脚本语言。

  • JavaWeb体系:JavaWeb主要涉及两个基本技术,Servlet和JSP。

  JSP(Java Server Pages)是Sun 公司指定的一种服务器端动态页面技术的组件规范,Jsp是以“.jsp”为后缀的文件,在该文件中主要是html 和少量的java 代码。jsp 文件在容器中会转换成Servlet中执行。

    Servlet (Server Applet)是Sun公司指定的一种用来扩展Web服务器功能的组件规范,属于服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。
jsp就是在html里面写java代码,servlet就是在java里面写html代码。

JSP将Java代码和特定的内容嵌入到静态网页中,文件在运行时会被其编译器转换成原始的Servlet代码,然后再由Java编译器编译成能够快速执行的二进制机器码执行。

  • ASP.NET体系:ASP.NET是一种用于构建Web应用程序的开发框架。它是Microsoft.NET平台的一部分,使用C#或VB.NET等编程语言进行开发。ASP.NET支持Web表单、MVC(模型-视图-控制器)和Web API等开发模式。ASP.NET基于服务器端技术,它将Web应用程序的逻辑和用户界面分离,以提供更好的可维护性和灵活性。它还提供了许多内置的功能和控件,用于处理用户输入、数据验证、会话管理等常见的Web开发任务。
     

  • Python体系:Python是一种解释性,面向对象、动态数据类型的高级程序设计语言,Python拥有大量的web开发框架,如Django、Tomado、Flask、web.py等

  • 30
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值