b/s数据流过程

    用servlet做request请求回应的数据流回应过程:

1.客户端浏览器打包要发送的数据data对象request,

    数据包对象request分两部分:

        1.1.header

               请求方法request:    GET / HTTP/1.1

               接受什么样的内容格式:Accept text/html, application/xhtml+xml, */*

               接受什么样的coding格式:gzip, deflate

               接受什么样的内容语言:Accept-Language zh-CN

              接受底层tcp连接状态:Connection Keep-Alive    ------客户端和服务器端连接一次后,第二次就会使用第一次连接

              禁止被追踪:DNT 1

              客户端主机信息:Host localhost:9999

              客户端浏览器信息:User-Agent Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko

2.浏览器底层分析域名找到接受ip

    2.1分析hosts文件域名对应的ip地址

    2.2如果2.1没有找到域名对应的ip地址,就交给电信服务提供商DNS域名解析服务器解析

3.物理数据层,ip网络层,转发数据包,发送到服务器组装数据data对象request

4.服务器tomcat解析数据对象request

    4.1.tomcat根据server.xml已经配置好的查找服务

    4.2.服务根据端口port匹配对应哪个协议类处理,如80端口发送接受的数据属于protocol="HTTP/1.1",转发另外端口处理

              redirectPort="8443",最后协议处理类protocol="org.apache.coyote.http11.Http11NioProtocol"

5.tomcat用对应的协议类分析request对象后,找对应servlet类处理(这里服务器端具体的业务逻辑),生成回应response对象,发送回浏览器

6.浏览器接受到response对象,解析,显示。


综述,

        数据流发送是一条线,线的每个过程都有相应的作用,数据不断的被包装,发送,分拆,解析。








你可能感兴趣的:(b/s数据流过程)