Web开发基础知识

URL

URL:统一资源定位符,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
基本URL包含两部分:1.模式(协议),2.服务器名称(IP地址),路径和文件名
模式(协议):告诉浏览器如何处理将要打开的文件,最常见的是http,超文本传输协议
URL以斜杠“/”结尾,而没有给出文件名,在这种情况下,URL引用路径中最后一个目录中的默认文件(通常对应于主页),这个文件常常被称为 index.html 或 default.htm。[1]

Client/Server模式简称CS架构:
软件运行在桌面上,而数据库运行在服务器端

随着互联网的兴起,人们发现,CS架构不适合Web,最大的原因是Web应用程序的修改和升级非常迅速,而CS架构需要每个客户端逐个升级桌面App,因此,Browser/Server模式开始流行,简称BS架构。

在BS架构下,客户端只需要浏览器,应用程序的逻辑和数据都存储在服务器端。浏览器只需要请求服务器,获取Web页面,并把Web页面展示给用户即可。

Web开发历史:
1.静态Web页面:静态的HTML页面,如果要修改Web页面的内容,就需要再次编辑HTML源文件

2.CGI(Common Gateway interface):用C/C++编写

3.ASP/JSP/PHP:由于Web应用特点是修改频繁,用C/C++这样的低级语言非常不适合Web开发,而脚本语言由于开发效率高,与HTML结合紧密,因此,迅速取代了CGI模式。ASP是微软推出的用VBScript脚本编程的Web开发技术,而JSP用Java来编写脚本,PHP本身则是开源的脚本语言。

4.MVC(Model-View-Controller)

浏览器和服务器之间的传输协议是HTTP
要学习Web开发,首先要堆HTML,CSS和JavaScript作一定的了解。HTML定义了页面的内容,CSS来控制页面元素的样式,而JavaScript负责页面的交互逻辑

一个Web应用的本质:
1.浏览器发送一个HTTP请求
2.服务器收到请求,生成一个HTML文档;
3.服务器把HTML文档作为HTTP响应的Body发送给浏览器
4.浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示

接受HTTP请求、解析HTTP请求、发送HTTP响应都是苦力活,这些底层代码由专门的服务器软件实现,这需要一个统一的接口,这个接口就是WSGI:Web Server Gateway Interface

WSGI接口定义非常简单,它只要求Web开发者实现一个函数,就可以响应HTTP请求

Python内置类一个WSGI服务器,这个模块教wsgiref

无论多么复杂的Web应用程序,入口都是一个WSGI处理函数。HTTP请求的所有输入信息都可以通过environ获得,HTTP响应的输出都可以通过start_response()加上函数返回值作为Body。

复杂的Web应用程序,光靠一个WSGI函数来处理还是太底层了,我们需要在WSGI之上再抽象出Web框架,进一步简化Web开发。

def application(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/html')])
    return '<h1>Hello, web!</h1>'
from wsgiref.simple_server import make_server
# 导入我们自己编写的application函数:
from Hello import application

# 创建一个服务器,IP地址为空,端口是8000,处理函数是application:
httpd = make_server('', 8008, application)
print ("Serving HTTP on port 8000...")
# 开始监听HTTP请求:
httpd.serve_forever()

HTTP协议声明GET请求是返回信息给客户端(网页显示),POST请求通常用于网页提交数据给服务器时

posted @ 2018-02-04 20:23  blog_hfg  阅读(143)  评论(0)    收藏  举报