http请求过程
建立socket连接
===============
浏览器输入 www.chuodu.com 通过DNS解析到IP
通过ip和端口建立socket连接(不指定端口,使用默认端口)
向web服务器发送请求
===============
以POST或GET等方式发送请求
服务器应答
===============
接收到请求之后,需要向浏览器应答
响应的报头信息 ,发完报头信息,还会发送一行空白通知信息发送结束
服务器向浏览器发送数据
===============
根据Content-Type 设置的类型 返回数据类型
关闭TCP连接
===============
浏览器解析服务器返回数据
Web的结构组件
代理
客户端和服务器之间的 HTTP 中间件
可以实现流量转发、安全过滤等相关操作
缓存
HTTP 的仓库,常用文件可以保存在离客户端更近的地方。
网关
连接其他应用程序的特殊 Web 服务器。
比如实现 http协议转换成FTP协议
隧道
对 HTTP 通信报文进行盲转发的特殊代理。
HTTP 隧道的一种常见用途是通过 HTTP 连接承载加密的安全套接字层流量(SSL,Secure Sockets Layer)
可以实现 ssl流量穿过只允许web通过的防火墙
Agent 代理
所有能发布 Web 请求的应用程序都是 HTTP Agent 代理
常见的HTTP Agent 代理:Web 浏览器,spiders(搜索引擎)