与服务器建立socket连接
- 浏览器从地址栏获取用户输入的网址和端口,去连接远程服务器
生成请求数据并通过socket发出去
- 让服务器知道你的意图,是获取内容还是发送内容.
- 告诉服务端想要哪个内容
HTTP的工作原理
- 1、用户通过浏览器进行一个操作,比如输入一个网址,然后请求.
- 2、浏览器向服务端发送TCP连接请求
- 3、服务端接受请求,并经过三次握手建立连接
- 4、浏览器将请求数据打成一个HTTP协议格式的数据包.
- 5、浏览器将数据包发送到网络上,经过网络传输,最终到达服务端.
- 6、服务端拿到者数据包后,同样以HTTP协议格式解包,获取客户端的意图.
- 7、得知客户端意图后进行处理,比如提供静态文件或者调用服务端程序获得动态结果.
- 8、服务端响应结果安装HTTP协议格式进行打包.
- 9、服务器将数据包推入网络,数据包经过网络传输最终到达浏览器.
- 10、浏览器拿到数据包后,以HTTP协议的格式进行解包,然后解析数据.
- 11、浏览器将HTML数据展示在浏览器上.
HTTP请求响应实例
HTTP请求数据是由三部分组成,分别是:请求行、请求报头、请求正文,HTTP请求到达Tomcat后,Tomcat会将请求数据字节流解析成Request对象,这个Request对象封装了例如用户登陆,输入用户名和密码,浏览器发出这样的请求: