因为国内大多数公司都不知道HTTP是什么。
返回错误码的同时,可以在body里面带上详细的错误信息。
==========================================================
有人说我开地图炮太夸张,呵呵,给你们自己看:
微软必应搜索 HTTP/1.1 200 OK Cache-Control: no-cache, no-store, must-revalidate Pragma: no-cache Content-Type: text/html; charset=utf-8 Expires: -1 Vary: Accept-Encoding Server: Microsoft-IIS/8.5 P3P: CP="NON UNI COM NAV STA LOC CURa DEVa PSAa PSDa OUR IND" Date: Mon, 28 Sep 2015 13:26:50 GMT Content-Length: 129651
HTTP/1.1 200 OK Connection: keep-alive Content-Type: text/html Date: Mon, 28 Sep 2015 13:26:39 GMT P3p: CP=" OTI DSP COR IVA OUR IND COM " Search_result: OK Server: Apache Set-Cookie: BDRCVFR[X_XKQks0S63]=mk3SLVN4HKm; path=/; domain=.baidu.com Tracecode: 15991406740673371146092821 Vary: Accept-Encoding Content-Length: 85497
HTTP/1.1 200 OK Content-Type: text/html Vary: Accept-Encoding X-Powered-By: schi_v1.02 Server: nginx Date: Mon, 28 Sep 2015 13:29:06 GMT Last-Modified: Mon, 28 Sep 2015 13:27:14 GMT Expires: Mon, 28 Sep 2015 13:30:06 GMT Cache-Control: max-age=60 Age: 21 Content-Length: 518629 X-Cache: HIT from ctc.gz.1cf2.39.spool.sina.com.cn
国内的互联网公司响应头里面没有charset是大概率事件,,,,,
TMD劳资每天都要因为这个被人烦。
这货放响应头里面省多少事只有懂的人才会懂。
特么一堆网站是GB2312的还理所当然的认为浏览器都应当默认认识GB2312不在Header里面发charset,我也真是无语,尼玛你是个UTF-8不发也就算了。
PS:其实本来打算抓百度首页的,因为HTTPS不好抓所以没抓。
当然还有一种观点说,HTTP应当永远返回OK,为构筑在上层的协议服务。这种说法也不能说错,只是说,把HTTP当做传输层协议有点浪费,其实你不如直接80端口TCP对接多好,反正80绝对不会被任何防火墙阻拦。想走HTTP协议自然是希望获得协议层的支持,什么负载均衡,什么缓存分发,你全部返回个OK,这些设备鬼知道你在搞什么。