首先服务器与浏览器之间传递的对象有:
Request,Response,Cookie,Session,Caching,LocalStorage,SessionStorage,WebSockets,Ajax,Fetch API
Service Workers ,CORS
使用Request与Response对象沟通流程
- 浏览器发起请求(Request):
- 用户在浏览器中输入网址、点击链接、提交表单等操作,触发请求。
- 浏览器构建一个HTTP请求,包括请求行、请求头部和请求体。请求行包括请求方法(GET、POST等)、目标URL等信息。
- 浏览器通过TCP建立与服务器的连接。
- 浏览器将构建好的HTTP请求发送给服务器。
- 服务器处理请求:
- 服务器接收到浏览器发送的HTTP请求。
- 服务器根据请求的信息,例如URL、请求方法等,处理请求。这可能涉及查询数据库、生成动态内容、读取文件等操作。
- 服务器发送响应(Response):
- 服务器生成一个HTTP响应,包括状态行、响应头部和响应体。状态行包括状态码(例如200表示成功、404表示未找到等)。
- 响应头部包含关于响应的元信息,如内容类型、内容长度、缓存设置等。
- 响应体包含了实际的响应数据,如HTML内容、图片数据等。
- 浏览器接收响应:
- 浏览器接收到服务器发送的HTTP响应。
- 浏览器解析响应头部和响应体,获取响应的内容和相关信息。
- 浏览器渲染页面:
- 如果响应包含HTML内容,浏览器解析HTML、CSS和JavaScript代码。
- 浏览器根据解析后的内容,渲染出页面并显示给用户。
这是一个基本的流程,实际情况可能会更加复杂,涉及到缓存、重定向、安全性等方面的处理。在此过程中,Request和Response是浏览器与服务器之间进行信息交换的核心。请求中包含了浏览器所需的信息,服务器根据请求处理并生成相应的响应,浏览器接收响应并进行渲染。