说起web开发,我们先要说一下软件模式的转变。
最开始软件需要安装一个客户端,我们通过这个客户端去与去完成一些事情。这种模式(Client/Server模式)简称CS架构。随着互联网的兴起,与互联网相关的一些软件需要快速的更新,比如新闻资讯软件,传统的CS架构不好用了,为什么呢?总不能每天都更新软件吧。
就这样BS框架(Browser/Server模式)开始流行。用户只需要有一个浏览器,就能请求服务器发送web页面,服务器把更新的内容也就是新的web页面发送给你。相当于你自己更新了软件。
举个例子吧,CS架构就好像我们平时玩的端游lol,魔兽什么的。BS架构就好像页游。只有很重量级的软件才不得不用CS架构。
再来说web应用程序,我认为就是网站。只不过有一个限制web程序中的web页面使用HTML写的。
什么是HTML呢它就是一种定义网页的文本,跟咱们平时写程序一行一行代码(文本)差不多,它有一些突出的特点:
第一点:他的文本结构是一个Cascading Style Sheets(层叠样式表)这就是传说中的CSS长成下面这个样子
<html>
<head>
<title>Home</title>
</head>
<body>
<h1>Home</h1>
</body>
</html>
就是由一些tag(标签)你包住我 我包住他,这样叠起来的。
第二点:其中的一些交互式的东西,也就是Duang!特效要使用JavaScript来写,注意虽然里面有java但其实跟java没一点关系。
web程序使用HTTP协议来完成浏览器跟服务器的通信。
什么是HTTP协议呢,就是专门传输HTML文本的协议其他的我觉得暂时不必深究。
一个web程序就是给服务器发送一个HTTP请求,服务器再发回一个HTTP响应。发送的格式呢大致相同。
当发送请求时:
1.发送一个请求方法
GET / HTTP/1.1
GET代表只是获取页面就可以了,其他方法如POST还可以发送给服务器一些数据,比如登陆的数据用户名什么的。1.1是http的版本号。
2.发送请求头:
Xxx: abcdef
就是说明请求正文有多长,用了什么编码等一些有关信息。Xxx表示名称比如”信息长度“abcdef就是具体有多长。
3.发送正文(body):
就是一些你真正要做的事情,比如查询请求啦,各种。
HTTP响应:
1.状态行:
HTTP/1.1 200 OK
200就是告诉客户这个请求怎么样了,是不是有效。大名鼎鼎的404就是其中一员告诉你连接不存在。
2.响应头:
跟请求类似,要注意的是一条
Content-Type: text/html
告诉客户响应页面的性质,如上文text/html就是纯文本。
3.正文(body):
就是具体的html页面了。