做web开发必须掌握http协议相关的知识,今天就从概括到详细记录一下,也防止自己忘记。
概括的:
首先,当一个用用户在客户端的浏览器上输入一段网址例如:http://www.baidu.com,那么客户端便会携带着自己浏览器的一些信息(http协议中的请求行,消息头,实体)去请求服务器端的某个页面。当服务端的页面接收到请求之后就会触发一些事件,然后做出响应,响应的方式也是发送一个遵循http协议(状态行、若干消息头和实体内容),客户端接收到响应,然后再解析响应中的实体内容,从而生成用户所呈现的页面。
例如:自己创建一个页面,在page_load事件里做一些响应
protected void Page_Load(object sender, EventArgs e) { Response.Write(Request.Url+"</br>"); Response.Write(Request.Headers + "</br>"); }
page_load事件中获取客户端的一些信息Request...... ,然后再将信息写入到响应包中的http协议中的实体内容中,在响应给客户端。
客户端在解析服务端的响应内容的时,浏览器是一行一行的解析,当遇到jquery引入文件时,就会发送一个请求解析js文件,解析到css和图片的时候也是一样的,所有浏览器是一遍解析一遍执行的过程。