捅开web应用的那层纱
疑问 这篇也是 Django连接池试验 引发来得,考虑到整个web请求流程的复杂和独立性,新起一篇单独讲解 前置 之前搞php,java时,经常提到CGI,FastCGI, 且当时听说FastCGI性能更高,但当时未求深入,不知细节原因。以及一个web请求所经历的生命历程,也是算明白,但不是很深入,此篇会细致讲解“网关接口(协议)”的发展历程,以及web流程的生命周期。 HTTP协议 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从 万维网服务器传输超文本到本地浏览器 的传送协议。 HTTP协议 基于TCP/IP 通信协议来传递数据(文本,图片,json串等)。但这里要注意,他不涉及传输包,只是定义客户端和服务器端的通信格式。 HTTP请求方法 HTTP/0.9 GET HTTP/1.0 GET、POST、HEAD HTTP/1.1 GET、POST、HEAD、PUT、PATCH、HEAD、OPTIONS、DELETE HTTP请求报文 请求报文由以下四部分组成: 请求行:由 请求方法,请求URL(不包括域名),HTTP协议版本 组成 请求头(Request Header):由 key/vaue的形式组成 空行:请求头之下是一个空行,通知服务器不再有请求头(有请求体时才有) 请求体:一般post才有