您的位置:首页 > 理论基础 > 计算机网络

HTTP相关知识

2015-12-02 20:47 567 查看
一、什么是HTTP?

HTTP就是一种协议(protocal),计算机之间只有遵循这种协议才能相互通信。

二、HTTP在使用场景中流程

http客户端发起一个请求,创建端口

http服务器在端口监听客户端的请求

http服务器向客户端返回状态和内容

三、请求过程,以chrome浏览器为例(输入xxx.com)

1、chrome搜索自身的DNS缓存(在地址栏输入chrome://net-internals/#dns查看)

2、搜索操作系统自身的DNS缓存(浏览器没有找到缓存或缓存已经失效)

3、读取本地的HOST文件

4、浏览器发起一个DNS的一个系统调用

4.1、宽带运营商服务器查看本身缓存

4.2、运营商服务器替浏览器发起一个迭代DNS解析的请求

4.21、首选先去找根域的DNS ip地址,如果没找到,可以拿到com域的顶级域的ip地址

4.2.2、从com域寻找,如果没找到,可以拿到xxx.com域的ip地址

4.2.3、xxx.com域一般是域名的注册商提供的,比如万网、新网,从这可以获取到xxx.com的IP地址

运营商服务器把结果返回操作系统内核同时缓存起来

操作系统内核把结果返回给浏览器

最终浏览器拿到了xxx.com对应的IP地址

四、浏览器获取域名对应的IP地址后,发起HTTP“三次握手”

浏览器随机端口向服务器发起请求(如果80的TCP连接请求),通过层层的路由设备到达服务端以后,到达网卡

五、TCP/IP连接建立起来后,浏览器就可以向服务器发送HTTP请求了,使用了比如说,用HTTP的GET方法请求一个根域里的一个域名,协议可以采用HTTP 1.0的一个协议。

六、服务器端接受到了这个请求,根据路径参数,经过后端的一些处理之后,把处理后的一个结果的数据返回给浏览器,

七、浏览器拿到了xx网的完整的HTML页面代码,在解析和渲染这个页面的时候,里面的JS、CSS、图片静态资源,他们同样也是一个个HTTP请求,都需要经过上面的主要的七个步骤。

八、浏览器根据拿到的资源对页面进行渲染,最终把一个完整的页面呈现给了用户

HTTP请求流程拆分开,分成请求和响应,无论请求和响应都会发送HTTP头和正文信息

HTTP头发送的是一些附加的信息:内容类型、服务器发送响应的日期、HTTP状态码

正文就是用户提交的表单数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: