浏览器中输入地址,浏览器访问的过程:
粗略一点的过程是:浏览器发送一个http请求给服务器,服务器接收到http请求后,查询数据库是否有满足请求的数据,若数据库有,数据库返回数据给服务器,服务器回复http响应给浏览器。
具体的过程是:
(1)在浏览器的地址栏输入地址,向服务器发送了一个http请求
(2)服务器接受到http请求,服务器(Web server)进行初步处理,使用服务器脚本生成页面
(3)服务器将生成的页面作为http响应的body,根据不同的处理结果,生成http的header,发回给浏览器
(4)浏览器接收到http响应,开始解析html页面代码
(5)在解析html代码过程中,如果遇到引用服务器上的资源(如额外的css,js,图片等),就再次向服务器端发送请求,服务器找到对应的文件,发送回来。
(6)浏览器解析html代码,用得到的css 对页面进行渲染,js对页面也会进行一定的处理
(7)用户与页面交互时,js代码会进行相应的处理,添加特效或者动画等
(8)交互的过程,可能需要向服务器索取或者发送部分数据,一般不是跳转就是通过js 向服务器发送请求,服务器处理脚本审查的数据,发送给浏览器端。
附:
HTTP 状态响应码:
常见:
200 :服务器成功返回页面
404 :请求的网页不存在
503:服务器暂时不能用
具体:
1**:
请求收到继续处理
100:继续处理
101:切换协议
2**:
操作成功收到,分析,接受
200:OK,服务器成功返回页面
201:created,请求成功并且服务器创建了新的资源
202:accepted,已接受请求,但未处理
203:Non-Authoritative Information
204:No Content
205:Reset Content
206:Partial Content
3**:
重定向,要完成请求,需要进一步操作
300:多种选择
301:永久移动
302:暂时移动
303:查看其它位置
304:未修改
305:使用代理
307:暂时重定向
4**:
请求错误
400:错误请求,服务器不理解请求的语法。
401:未授权,请求要求身份验证。
403:服务器禁止请求
404:服务器找不到请求的网页。
405:禁用请求中指定的方法。
406:无法使用请求的内容特性响应请求的网页。
407:需要代理授权,指定请求者应当授权使用代理。
408:服务器等候请求时发生超时。
409:服务器在完成请求时发生冲突
410:如果请求的资源已永久删除,服务器就会返回此响应
411:服务器不接受不含有效内容长度标头字段的请求。
412:服务器未满足请求者在请求中设置的其中一个前提条件。
413:服务器无法处理请求,因为请求实体过大,超出服务器的处理能力
414:请求的 URI(通常为网址)过长,服务器无法处理
415:请求的格式不受请求页面的支持。
416:如果页面无法提供请求的范围,则服务器会返回此状态代码
417:服务器未满足”期望”请求标头字段的要求。
5**:
服务器错误,表示服务器在尝试处理请求时发生内部错误
500:服务器内部错误,服务器遇到错误,无法完成请求
501:服务器不具备完成请求的功能
502:错误网关,服务器充当网关或代理,从上游服务器收到无效响应
503:服务器目前无法使用(由于超载或停机维护)
504:网关超时,服务器充当网关或代理,但没有及时从上游服务器收到请求
505:服务器不支持请求中所用的 HTTP 协议版本。