您的位置:首页 > 其它

b/s数据流过程

2015-06-28 10:38 218 查看
用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已经配置好的<server>查找<service>服务

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

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

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

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

综述,

数据流发送是一条线,线的每个过程都有相应的作用,数据不断的被包装,发送,分拆,解析。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: