您的位置:首页 > 理论基础 > 计算机网络

HTTP常用状态与实际问题分析

2017-01-10 17:20 190 查看
作为前端要什么都会干点,http状态熟练了才能快速找出问题的所在(甩锅),下面介绍几种经典HTTP状态:

101:长连接状态,web端的话使用html5的websocket会出现,如下图,是个websocket的实例,可以看出长时间pending,一直处于连接状态(用来做通讯类的)



200:服务器已成功处理了请求,返回结果,成功了(有可能是expires缓存,不请求服务器,size == from cache)

301(永久移动):请求的网页已被永久移动到新位置。服务器返回此响应(作为对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。(后端语言设置的)

302(临时移动):服务器目前正从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。此代码与响应 GET 和 HEAD 请求的 301 代码类似,会自动将请求者转到不同的位置 ,如果没有跟 URL,那么就只是告诉浏览器,这东西移动到新的地方了(与 404 不同),但在哪里,我不知道;如果跟了 URL,则浏览器可能会重定向到指定 URL。但实际应用中,浏览器把它当 303 对待(后端语言设置的,比如短地址—>长地址)

303:跟302差不多,打酱油的。

(302重定向是暂时的重定向,搜索引擎会抓取新的内容而保留旧的网址。301重定向是永久的重定向,搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址。我觉得两个只是在搜索引擎记录的时候有些区别)

307(临时重定向):服务器目前正从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。此代码与响应 GET 和 HEAD 请求的 301 代码类似,会自动将请求者转到不同的位置。但由于 Googlebot 会继续抓取原有位置并将其编入索引,因此您不应使用此代码来通知 Googlebot 某个页面或网站已被移动。

304:自从上次请求后,请求的网页未被修改过。(一般服务器都帮你搞个304缓存,好像对比Etag头的)

403:forbidden的原因有很多,有可能是IP被服务器拉入黑名单,有可能是IP过分密集的访问该网站,被网站防火墙屏蔽,有可能是域名解析到了空间,但是空间没有绑定域名,也有可能是网页脚本文件在当前目录下没有执行权限。

404:说明服务器端没有这个url或者资源(我抓住服务端开发就一顿暴打)

413:请求实体过大, 超出服务器的处理能力(手机端上传超级大文件的时候出现过)

500:服务器遇到错误,无法完成请求。(可能服务端代码有问题)

502:(错误网关)服务器作为网关或代理,从上游服务器收到了无效的响应。

503:目前无法使用服务器,由于超载或进行停机维护。通常,这只是一种暂时的状态。(这个东西我之前在调接口的时候碰到过,.net framework的版本和.net代码版本不对应可能会出现这个,不解决过会也不会好的!)

504:服务器作为网关或代理,未及时从上游服务器接收请求。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  http 服务器 前端 html5