当前位置:首页 > Web开发 > 正文

web开发之http和wsgi

2024-03-31 Web开发

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(回车换行)

技术图片

 请求要领method

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