HTTP链接一个最基本的过程:浏览器
1 客户端链接一个主机;
2 服务器接收链接,
3 客户端请求一个文件,
4 服务器发送一个应答. 服务器
客户端链接一个主机,典型的开始就是发送一个http请求dom
好比:url = 'http://www.xesam.com:8080/search?key=xe';函数
发送请求以后,DNS会解析域名,定位到对应的主机url
咱们用一个函数模拟:server
functiongenerateRequest(url){ //浏览器产生请求
DNS(urlParse(url).domain,url);//域名解析,urlParse为了解析出网址
}
简易域名解析:ip
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);
}
简易服务器:io
varprogressMap = {//对应的处理程序
http:function(request){
},
https:function(request){
}
}
functionserver(requestUrl){
setTimeout(function(){//这里能够避免阻塞
progressMap[request.requestProtocol](request);
},0)
}