在浏览器中输入一个网址之后,发生了什么?
1、浏览器查找该域名的ip地址
2、浏览器根据解析得到的ip地址,向web服务器发送一个HTTP请求
3、服务器收到请求并进行处理
4、服务器返回一个响应
5、浏览器对该响应进行解码,渲染页面
6、页面显示完成后,浏览器发送异步请求
一次完整的HTTP请求过程
一次完整的HTTP请求从TCP三次握手建立连接成功后开始,客户端按照指定的格式向服务端发送HTTP请求,服务端接到请求后,解析HTTP请求,处理完业务逻辑,然后返回一个指定格式的HTTP响应给客户端。
HTTP请求格式:由请求行、请求头、空行、消息体四部分组成,每部分内容占一行
HTTP响应格式:由状态行、响应头、空行、消息体四部分组成,每部分内容占一行
HTTP协议
HTTP协议是超文本传输协议的缩写,用于从万维网服务器传输超文本到本地浏览器的传送协议。
HTTP协议基于TCP/IP通信协议来传递数据。
特点:
1、简单快速。客户端向服务端发送请求时,只需要传送请求方法和路径
2、灵活。HTTP协议允许传输任何类型的数据
3、无连接。每次连接只处理一个请求,服务器处理完请求,并收到客户端应答后,便断开连接
4、无状态。HTTP协议对事物处理没有记忆能力
HTTP的URL:一个完整的URL由以下几部分组成
1、协议
2、域名
3、端口号
4、虚拟目录
5、文件名
6、参数部分
7、锚部分
HTTP的请求:
由请求行、请求头、空行、消息体四部分组成,每部分内容占一行
HTTP的响应:
由状态行、响应头、空行、消息体四部分组成,每部分内容占一行
HTTP状态码:
1xx:指示信息-表示请求已接收,要继续处理
2xx:成功-表示请求已被成功接收、理解和接受
3xx:重定向-表示要完成请求必须进行进一步操作
4xx:客户端错误-请求有语法错误或请求无法实现
5xx:服务端错误-服务端未能实现合法的请求
常见状态码:
200 OK 客户端请求成功
400 Bad Request 客户端请求有语法错误,不能被服务端所理解
403 Forbidden 服务端接收到请求,但拒绝提供服务
404 Not Found 请求资源不存在(输入了错误的URL)
500 Internal Server Error 服务端发生不可预期的错误
503 Server Unavailable 服务端当前不能处理客户端请求,一段时间后可能恢复正常
cookie与session, localStorage与sessionStorage
localStorage和sessionStorage是h5的web storage API提供的
保存位置:
localStorage、sessionStorage和cookie都保存在浏览器端,session保存在服务器端
数据有效期:
localStorage 始终有效,浏览器关闭也一直保存
sessionStorage 在浏览器关闭前有效
cookie 在有效期内有效
session 需向服务端请求,在服务端设置的有效期内有效
保存大小:
cookie 最大4k
localStorage、sessionStorage 比cookie大得多,达到5M甚至更多
优缺点:
cookie 会在同源的HTTP请求中携带,在浏览器和服务器间来回传递
localStorage、sessionStorage 不会在请求中携带,只在本地保存
session 占用服务端空间,但存储数据更安全