web开发之http和wsgi
web开发也就是前端和后端,首先理解一下前后端疏散技术,其实说的后端代码和前端代码支解开来。不然倒霉于前端和后端别分开发。
web开发CS即客户端、处事端编程。传统的socket开发。
客户端、处事端之间需要使用socket,约定协议,版本(往往使用的协议是TCP或者UDP),指定地点和端口,就可以通信了。客服端、处事端传输数据,数据可以有必然的格局,双方必需先约定好。
BS编程,即Brower、Server开发。
brower浏览器,是一种特殊的客户端,撑持http(s)协议,能够通过URL向处事器倡议请求,期待处事器返回HTML等数据,并在浏览器内可视化展示的措施。
SERVER,撑持http协议,能够接受众多客户端倡议的http协议请求,颠末措置惩罚惩罚,将HTML等数据返回给浏览器。
素质上来说,BS是一种特殊的CS,即客户端必需是一种撑持http协议且能解析并衬着html的软件,处事端必需是能够接受多客户端http访谒的处事器软件。
http协议底层是基于tcp协议实现。
BS开发分为两端开发。
客户端开发——或称前端开发。HTML(控制格局),css(控制样式),JavaScript等。
处事端开发, python有WSGI,django,flask,tornado等。
http协议http协议是无状态协议。同一个客户真个两次请求之间并没有任何关系,从处事端角度来说,它不知道这两个请求来自同一个客户端。
cookie键值对信息。浏览器每倡议一次请求,城市把cookie信息发给处事器端。它是一种客户端,处事器端通报数据的技术。处事器端通过判断这些信息,来确定此次请求是否和之前的请求有关联。一般来说cookie信息是在处事器端生成,返回给客户真个。固然,客户端也可以本身设置cookie信息。
cookie有非常大的安适问题。一般来说,浏览器每次城市发送cookie给处事器,但是第一次没有。
URL构成URL可以说是地点,uniform resource locator统一资源定位符,每一个链接指向一个资源供客户端访谒。例如通过下面的URL访谒网页,?id=5&name=python,访谒静态资源时,通过上面这个URL访谒的是网站的某个路径下的index.html文件,而这个文件对应磁盘上的真实的文件。就会从这个磁盘上读取这个文件,并把这个文件的内容发还给浏览器端。
URL并不必然对应静态的资源,也可以是动态的资源。
scheme模式、协议:
http,ftp,https,file,mailto等。
host:port
:80,80端口是是默认端口可以不写,域名会使用dns解析,域名会解析成IP地点才华使用。实际上会对解析后返回的IP的tcp的80端口倡议访谒。
/path/to/resource,path是指向资源的路径。
?[email protected]=value2,这是query string,盘问字符串,问好支解,后面key=value形式,且使用&标记支解。
HTTP动静动静分为Request,Response
Request:浏览器向处事器倡议的请求。
Response:处事器对客户端请求的响应。
请求和响应都是由请求行,header动静报头,body动静正文构成。
请求请求动静行:请求要领method 请求路径 协议版本CRLF(回车换行)
GET:请求获取URL对应的资源。get要领将请求的数据都放在了headers里面。如果带body,请求头后面要带两个回车换行。
POST:提交数据至处事器端
HEAD:和get类似,不过不返回动静正文。(一般用于测试)
常见通报信息的方法。
1.GET要领使用query string
通过盘问字符串在URL中通报参数。
2.POST要领提交数据
上面的age = 5&weight=80&height = 170也是参数,盘问字符串也是参数。
3.url中自己就包罗着信息。
在URL中自己已经通报出信息了。同样的URL,要领差别,意义差别。好比代表获取还是提交数据。
响应响应动静行:协议版本 状态码 动静描述CRLF
状态码
nginx必需会。
无状态,有连接和短连接温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/30451.html