考核内容:前后端通信状态
题发散度: ★★
试题难度: ★★
解题思路:
说到这里首先大家要明白以下操作:
http:超文本传输协议
WEB在传输层采用的是TCP协议。浏览器与服务器建立连接时会经过TCP的三次握手,一次TCP的连接可以建立多个HTTP请求。
状态码为服务器接受请求之后返回的响应信息,浏览器可以根据响应信息的状态码判断请求是否成功。
使用CHROME打开网站如(www.coolneng.com),
按F12,可以看到控制台中加载的WEB资源,及状态码
对于一个前端工程师来说,要最少要掌握以下web页面每个资源的状态信息及状态码的含义
200:服务器响应正常。
304:该资源在上次请求之后没有任何修改(这通常用于浏览器的缓存机制,使用GET请求时尤其需要注意)。
400:无法找到请求的资源。
401:访问资源的权限不够。
403:没有权限访问资源。
404:需要访问的资源不存在。
405:需要访问的资源被禁止。
407:访问的资源需要代理身份验证。
414:请求的URL太长。
500:服务器内部错误
什么情况下会返回304状态码?
客户端是怎么知道这些内容没有更新的呢?
其实这并不是客户端的事情,而是你服务器的事情,大家都知道服务器可以设置缓存机制,这个功能是为了提高网站的访问速度,当你发出一个GET请求的时候服务器会从缓存中调用你要访问的内容,这个时候服务器就可以判断这个页面是不是更新过了,如果未更新过那么他会给你返回一个304状态码。并直接从缓存里加载。
答案:错误的是 B. 304:没有权限访问资源。