WEB开发(1) 入门篇

HTTP超文本传输协议

HTTP是客户端浏览器和服务器间应用层通信协议,是基于TCP/IP之上的协议。保证了正确传输超文本文档,还确定哪一部分先显示(文本>图像)。

WWW中,TCP端口为80,一直监听等待连接的出现。

基于HTTP协议的客户/服务器模式的信息交换过程分为4个过程

1. 建立连接

2. 发送请求信息

3. 发送响应信息

4. 关闭连接

 

详细介绍:

b4fc3f83b9b028b9ede33d04ce0af3fde27.jpg

套接字实际上就是插座,浏览器在客户端申请一个插座,连线到服务器那里去(正如前文所述,服务器也有一个插座,位于属于TCP的80号端口)。

 

e03aa150ba34dfac55d7b6c22fb8b39ae94.jpg

发送请求消息,实际上就是向服务器请求内容,主要了解:请求头,请求行,正文(实体内容),方法,url等

 

30e9c533b20b788070ceffb5c0f7eb98236.jpg

服务器响应了客户端的请求,表达了诸如我收到你的消息、我需要向你问一些细节、你是错误的客户、我是错误的服务器等等(即所谓的状态码)。

e4a8522cf18569d94981d2fe0155ec908c6.jpg

 

2bb3225af829588167a32e27f388558d2fb.jpg

 

WEB技术

* 传统web仅用HTML静态网页,内容是保持不变的,开发周期很长,更新慢

动态生成页面技术,利于维护,针对不同请求返回不同访问信息,满足服务多样性,新的内容可以通过后台管理页面发布和修改而无须更改整个程序

1.  CGI程序

CGI(Common Gateway Interface, 公共网关接口),在服务器端运行,实现动态输出的一种程序。在服务器端执行,并可以和web服务器在同一个主机上,操作流程如图。

57cbc2919c533ed9e4522e061d7ede7ba94.jpg

但同时也有很多不足:

0da33347c75ed22c65d6aee096674137dab.jpg

 

2. Servlet

虽然CGI也能够用java写,但是每一次进程都需要加载一次JVM,效率更低。而servlet的出现只需要加载一次JVM,之后这个JVM再加载其他的类。

Servlet的优点:

f5a5dc2fc44a0a6bc2c24826f265c5d0dbf.jpg

 

不足:

cbb465609131f420b1d0f47ab7e843cadad.jpg

简而言之,就是每次都要print输出html代码不方便书写,并且不满足开放-封闭低耦合的设计原则。

 

3. JSP,servlet的模板

是一种实现静态HTML和动态HTML混合编码的技术,JSP文件能够被翻译(编译)成servlet文件。所有它具有所有servlet的优点,可以把它看作是一种“彻底”的servlet。

5ecb5106e1a22658f281ee27a669d9a3636.jpg

JSP页面的访问和最初的CGI实际上也是差不多的,但是在效率和简易上做出了改良。

 

JSP原理

JSP最大的特点就是能够把程序页面的创建分开来。

WEB容器处理JSP文件的请求需要经过三个阶段:

64625b43c64c964e65f53ca4baf36c93c14.jpg

04b5ebd1729c1ea72f2eb175826a960cba7.jpg

.jsp -> .java 

.java -> .class

.class -- waiting to be sent back --> client interface

 

搭建环境

这里不提详细的步骤,只给出一些要点:

96a23537d07c0a85314e4931ca36b37a928.jpg

JRE和JDK的关系

8af6236221e5f1ec12dbec9ff936ed99b61.jpg

HTTP端口为80,但开发模式下通常用8080

c05123c0783f7b83a97aadb50185198289d.jpg

Tomcat的方式:http://localhost:8080、http://127.0.0.1:8080等等

转载于:https://my.oschina.net/swanf/blog/3058519

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值