zoukankan      html  css  js  c++  java
  • 浏览器访问服务器的流程

    1、浏览器输上域名,例如www.baidu.com

    2、浏览器会先访问DNS服务器,把域名解析成ip地址,在返回给浏览器

    2)DNS的解析原理:

    原理步骤:

    1)系统首先会查找本地的DNS缓存和hosts文件信息,确认其中是否有与,域名www.baidu.com所对应的IP地址。如果有,就直接访问这个IP地址所对应的www.baidu.com域名服务器。

    2)如果没有找到,那么,系统将会把浏览器的解析请求发送给本地主机所指定的DNS服务器,称为LDNS。如果LDNS服务器中有域名www.baidu.com所对应的IP地址,则返回给客户端的浏览器,如果没有,则继续请求其他DNS服务器。

    3)LDNS服务器会从DNS系统的根(.)开始请求对域名www.baidu.com的解析。根DNS服务器全球只有13台,根域名服务器是没有域名www.baidu.com解析记录的。但是它会有域名www.baidu.com所对应的顶级域.com的解析记录,因此直接把顶级域.com所对应的DNS地址返回给LDNS服务器。

    4)LDNS服务器获取到顶级域.com对应的DNS服务器地址后,就会去.com服务器请求对www.baidu.com域名的解析。在顶级域名服务器也不会有www.baidu.com的解析记录的。但是它有www.baidu.com的父级域名的解析记录,即baidu.com。因此顶级域名.com服务器又会把baidu.com所对应的DNS服务器的IP地址返回给LDNS。

    5)LDNS服务器收到baidu.com所对应的IP地址后,就会去baidu.com域名服务器请求对www.baidu.com的域名解析。Baidu.com域名对应的DNS服务器是该域名的授权DNS服务器。这个DNS服务器就是企业购买域名时用于管理解析的服务器。

    6)baidu.com域名DNS服务器会吧www.baidu.com域名所对应的IP地址给解析出来,然后发给LDNS。

    7)LDNS把解析出来的结果,www.baudu.com所对应的IP地址发送给客户端的浏览器。并且LDNS也会将其域名和对应的地址缓存到cache中。

    8)客户端浏览器收到后,也会将其域名以及对应的IP地址缓存的到DNS缓存和hosts文件中。

    3、浏览器从ip中解析出端口号

    4、浏览器通过解析后得到的ip和端口号来与web服务器建立一条TCP通道连接(三次握手)

    2、TCP/IP协议的介绍和三次握手及四次挥手

    1)说说TCP/IP协议是什么

    Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。

    5、建立TCP连接之后,浏览器向web服务器发送一条HTTP请求报文。

    1)请求行

    作用:用来说明客户端想要做什么。

    内容:包括方法字段GET和URL字段以及HTTP协议版本

    2)请求头

    作用:通过客户端把请求的相关信息发给服务器

    内容:包括媒体类型、语言类型、支持压缩、客户端类型、主机等信息。

    3)空行

    作用:告诉服务器空行以下内容不属于请求头部信息。

    4)请求报文主体

    作用:用来说明客户端具体想要做的事情。

    内容:查看信息、应用post方法。

    6、web服务器响应并读取浏览器的请求信息,然后返回一条HTTP响应报文。

    1)状态行

    作用:用来说明服务端响应客户端的状态。

    内容:包括洗衣及版本号、数字状态码、状态情况

    2)响应头

    作用:通过服务端把响应的相关信息给客户端

    内容:包括Location、server、connect、vary等

    3)空行

    作用:告诉客户端空行以下内容不属于响应头部信息。

    4)响应报文主体

    作用:用来装载着要返回给客户端的数据

    内容:包括文本、html、视频或者是图片。

    7、web服务器关闭HTTP连接,关闭TCP连接,web服务器显示访问的网站内容到屏幕上。

    转载: https://www.cnblogs.com/hualingyun/p/11018297.html

  • 相关阅读:
    解决execjs 调用js 问题
    处理 get请求套字典问题
    js2py js逆向
    前端页面自适应
    newspaper抓新闻
    easygui
    pycharm 安装插件
    scrapy_代理使用
    SQLAlchemy 介绍,建表,及表的操作 (增 删 改 查)
    数据分析之pandas模块下
  • 原文地址:https://www.cnblogs.com/houss/p/13328916.html
Copyright © 2011-2022 走看看