在浏览器中输入网址,回车会发生什么?

在浏览器中输入网址查找一般会分为一下几个步骤:

  1. DNS域名解析
  2. TCP连接
  3. 发送HTTP请求
  4. 服务器处理请求并返回HTTP报文
  5. 浏览器显示页面
  6. TCP断开连接

一、DNS域名解析

        当你在浏览器中输入一个网址的时候,这个网址其实并不是真正意义上的网址。互联网上唯一标识一台计算机的标识是IP地址,DNS域名解析的作用就是把网址转换成IP地址。

在这里一般来说会先查找本地的硬盘的hosts文件,如果hosts文件里面有这个对应的IP地址,就直接使用。如果没有,就会向本地的DNS服务器发出DNS请求,在本地的DNS服务器缓存中查询到这个对应的IP地址,就直接使用。如果还是没有,那本地DNS服务器会向域服务器发出请求,直接返回对应的IP地址。

接下来有IP地址了,那就要简历连接了。

2.TCP连接

TCP连接就是所谓的三次握手了,通过三次握手创建一个有连接的、可靠的、流式服务连接。详细请看https://blog.csdn.net/choudan8888/article/details/86369281

里面有详细的三次握手的过程。

3.发送HTTP请求

在完成练级之后,客户端就要像服务器发送HTTP请求,请求的内容包括三点:

  1. 请求行
  2. 请求头
  3. 请求体

请求行:方法+地址+http版本  例如:PUT  www.1097501616@qq.com HTTP/1.1

请求头:请求头是指客户端像服务器传递亲求的附加信息和客户自身的信息。

        常见的请求包头有:

Accept:浏览器能够处理的内同类型

Accept-Charset:浏览器能够显示的字符集

Accept-Encoding:浏览器能够处理的压缩编码

Accept-Language:浏览器当前设置的语言

Connection:浏览器与服务器之间连接的类型

Host:发出请求的页面所在的域

Cookie:当前页面设置的任何Cookie

请求体:使用POST,GET等方法时,通常需要客户端向服务器传递一些参数数据时,这些数据就存储在请求体中

4.服务器处理请求并返回HTTP报文

服务器处理玩HTTP请求之后会做出相应,响应内容包括三点:

  1. 响应行
  2. 响应头
  3. 响应体

响应行:包含HTTP版本+状态码+状态描述

状态码

状态码有5中可能取值

1xx:指示信息——请求已接受,继续处理

2xx:成功——成功处理了请求的状态码   

       200:服务器成功处理了请求并提供服务

       204:服务器成功处理了请求,但是没有返回任何内容

3xx:重定向——要完成请求必须进行更进一步的操作,重定向不要超过5次

       301:请求的网页已永久移动到新位置

       302:请求的网页临时移动到新位置

       304:如果网页自请求者上次请求之后没有更新,则用301状态码告诉引擎机器人,可以节省带宽

4xx:客户端错误——请求有语法错误或请求无法实现
       400:服务器不理解请求的语法

       403:服务器拒绝请求

       404:服务器找不到请求的页面

       410:请求的资源永久删除后,服务器返回此响应

5xx:服务器端错误——服务器无法处理客户端的请求,这些错误是服务器本身的错误。

       500:服务器遇到错误,无法完成请求

       503:服务器目前无法使用(由于超载或停机维护)。

响应头:与请求头类似,为响应报文添加了一些附加信息。

常见的响应头:

                       Date:表述消息发送的时间

                       server:服务器名字

                       Connection:浏览器和服务器之间连接的类型

                       Content-type:表述后面的文档属于什么MIME类型

响应体:服务器返回给客户端的文本信息,通常后端返回的数据以HTML,CSS,JS图片等文件就放在这部分

5.浏览器解析渲染页面

浏览器在手法哦HTML,CSS,JS文件后,它将这些信息渲染到客户端页面上。

6.关闭TCP连接

关闭TCP连接就是四次挥手的过程,详细了解可以点击下面网址:https://blog.csdn.net/choudan8888/article/details/86369281

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值