私信我或关注猿来如此呀公众号,回复:视频学习,免费领取30天学习资源包
关于WEB
Web:英文单词[网状物],主要用于表示计算机中的广域网络[world wide web](www)。
world wide web:全球广域网络,也称为万维网,是一种基于超文本和HTTP的全球性的、动态交互的、跨平台的分布式图形信息系统,是建立在internet上的一种网络服务。
web软件,是一种基于web为其数据交互基础的计算机软件。
该类型软件,通过web万维网的数据交互协议,通过网络进行数据传输,主要目的是高效率的跨平台跨地区数据共享。
什么是协议
协议:是一种共同协商、计议之后通过的一种约定。
网络协议:互联网中的不同主机之间互相传递数据的一种约定,由ISO组织定义协议的描述模型(通常称为7层网络传输模型),规范网络传输的各种协议性质。
PS1:OSI(Open System Initiative)开放式系统互联,一个推动开源软件发展的非盈利性质的组织。
PS2:OSI/RM参考模型(Open System InterCONNECTion Reference Model),是由国际化标准ISO(International Oranization for Standardization)提出的一个网络系统互联参考模型
PS3:OSI/RM参考模型
OSI模型层
功能描述
涉及协议
应用层
Application layer
文件传输、电子邮件等等
FTP/TFTP/HTTP/SMTP/
DNS/Telnet..
表示层
Presentation layer
数据格式化、代码转换
数据加密等等
无
会话层
Session layer
建立或者解除与其他节点之间的联系
无
传输层
Transport layer
提供端对端的接口
TCP/UDP
网络层
Network layer
数据包传输路由
IP/ICMP/RIP/OSPE
IGMP/BGP..
数据链路层
Datalink layer
传输有地址的帧
错误检测功能
SLIP/GSLIP/PPP/
ARP/RAPR/MTU..
物理层
Physical layer
二进制数据在物理媒体上的传输
中继器、集线器、双绞线等等
web开发时使用的网络传输协议
协议名称
描述
IP协议
是将多个包交换网络连接起来,在源地址和目标地址之间传输数据包并对数据包进行拆分和*以适应不同的网络大小
TCP协议
Transmission Control Protocal 传输控制协议
一种端对端的、可靠的、基于IP的传输层协议
特点:3次握手建立连接;4次挥手断开连接
UDP协议
User Datagram Protocal用户数据报协议
一种无连接的传输层协议
FTP协议
File Transfer Protocal文件传输协议
TCP/IP协议族中的一种
特点:FTP协议包含两部分[服务器][客户端]
SMTP协议
Simple Mail Transfer 简单邮件传输协议
TCP/IP协议族中的一种
邮件发送服务协议
POP3协议
Post Office Protocal-Version3 邮局协议版本3
TCP/IP协议族中的一种
HTTP协议
HyperText Transfer Protocal超文本传输协议
HTTPS协议
HyperText Transfer Protocal over Secure Socket Layer
安全HTTP协议通道,简称安全的超文本传输协议
超文本传输协议(HTTP)
HTTP(HyperText Transfer Protocol),是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。是一个基于TCP/IP通信协议来传递数据,一个属于应用层的面向对象的协议 。
浏览器作为HTTP客户端通过URL向HTTP服务端即web服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。
主要特点:简单快速,无连接,无状态,支持B/S及C/S模式。
URI与URL
URI(Uniform Resource Identifiers):统一资源标识符,HTTP使用URI来传输数据和建立连接。
URL(Uniform Resource Locator):统一资源定位器,是一种特殊类型的URI,包含了用于查找某个资源的足够的信息
HTTP请求方式
客户端向服务器发送数据请求,根据请求的性质区分不同的请求方式
HTTP1.0定义了三种请求方法:GET, POST 和 HEAD方法
HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT协议,也就是说现在共有8种不同的请求方式
- OPTIONS:返回服务器对指定资源数据支持的HTTP请求方法,一般用于测试服务器功能的可用性
- HEAD:返回服务器上对指定资源数据的HTTP请求头,在不需要返回全部数据的情况下测试指定功能大可用性
- GET:向服务器请求指定的资源
- POST:向服务器提交数据请求处理,数据被包含在请求体中
- PUT:向服务器上传指定的数据
- DELETE:向服务器发送请求删除指定数据
- TRACE:回显服务器收到的请求,主要进行功能测试诊断
- CONNECT:HTTP1.1协议中预留请求方式,可以将连接改为管道方式的代理服务器。
web开发行业术语
硬件:组成计算机的各种元器件,如CPU、硬盘、键盘、鼠标等。
服务器:专门用于提供网络数据访问服务的主机。
客户端:发起请求访问数据的主机的计算机软件。
网络:有大量计算机和网络介质组成,用于计算机间进行数据交互。
协议:访问数据的数据编码及传输方式或者规定。
web服务器:专门将指定大数据共享在网络中的一种数据容器软件
web程序:可以在网络上访问并且进行数据处理的程序
web接口:浏览器通过url地址可以访问调用的一个函数或者方法
wsgi接口开发
wsgi(web server gateway interface):web服务网管接口,是一个web服务网关接口组件。
所谓网关接口,就是指代的一个处理节点,处理节点反映到web程序中就是一个简单的处理函数,如定义一个处理根节点的接口
在Python中,Python语言也实现了wsgi的web接口编程,如下代码案例演示:
"""
python使用wsgi编程demo
"""
def index(env,respose):
# 设置响应头信息
respose("200 OK",[("Content-Type","text/html;charset=utf-8")])
print(env)
print(env["PATH_INFO"])
print(env["QUERY_STRING"])
msg = "欢迎访问我的第一个页面"
return [msg.encode("utf-8")]
# 导入Python实现了wsgi接口编程的模块和方法
from wsgiref.simple_server import make_server
# 设置ip地址和端口及处理函数
httpd = make_server("",8080,app=index)
# 启动服务器
httpd.serve_forever()
启动程序,使用浏览器访问http://localhost:8080/,效果如下:
打印控制台env参数查看,我们发现env是一个字典,注意其中PATH_INFO和QUERY_STRING这两个key对应的值。
PATH_INFO获取的就是该页面的URI,我们就可以利用它来传递参数
QUERY_STRING获取的是使用get请求传递的参数。
来源于猿来如此呀公众号,侵权删除
私信我或关注猿来如此呀公众号,回复:视频学习,免费领取30天学习资源包