简述HTTP过程

HTTP连接一个最基本的过程:

1 客户端连接一个主机;
2 服务器接收连接, 
3 客户端请求一个文件, 
4 服务器发送一个应答. 

客户端连接一个主机,典型的开始就是发送一个http请求

比如:url = 'http://www.xesam.com:8080/search?key=xe';

发送请求之后,DNS会解析域名,定位到对应的主机

我们用一个函数模拟:

functiongenerateRequest(url){ //浏览器产生请求
DNS(urlParse(url).domain,url);//域名解析,urlParse为了解析出网址
}

简易域名解析:

复制代码
varipMap = {
'www.xesam.com' : server,
'www.xesam_1.com' : 'server_1'
}
functionDNS(domain,url){
varserver = ipMap[domain];//定位主机
establishConnection(server,url);//如果服务器确认,则建立连接
}
复制代码

简易建立连接:

functionestablishConnection(server,requestUrl){
server(requestUrl);
}

简易服务器:

复制代码
varprogressMap = {//对应的处理程序
http:function(request){
},
https:function(request){
}
}
functionserver(requestUrl){
setTimeout(function(){//这里可以避免阻塞
progressMap[request.requestProtocol](request);
},0)
}
复制代码
posted @ 2017-08-14 15:14  westfruit  阅读(468)  评论(0编辑  收藏  举报