{"id":183668,"date":"2013-06-18T09:46:03","date_gmt":"2013-06-18T05:46:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=183668"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=183668","title":{"rendered":"<span class=\"post_title\">\u0414\u0432\u0443\u043b\u0438\u043a\u0438\u0439 REQUEST_URI \u0438\u043b\u0438 \u0432 \u043f\u043e\u0438\u0441\u043a\u0430\u0445 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e HTTP\/1.1 \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/span>"},"content":{"rendered":"<div class=\"content html_format\">   \t\u0412\u044b \u0437\u043d\u0430\u0435\u0442\u0435, \u0447\u0435\u043c \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f <b>%{REQUEST_URI}<\/b> \u0432 Apache mod_rewrite \u043e\u0442 <b>$_SERVER[&quot;REQUEST_URI&quot;]<\/b> \u0432 PHP?<\/p>\n<p>  \u0421\u043c\u043e\u0436\u0435\u0442\u0435 \u0432 .htaccess \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 Apache \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044e 301 \u0441 \u0434\u043e\u043c\u0435\u043d\u0430 \u0441 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043e\u043c www \u0438\u043b\u0438 \u043d\u0430 \u043d\u0435\u0433\u043e?<\/p>\n<p>  \u0414\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0432\u043e\u043f\u0440\u043e\u0441\u0430 \u044f \u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435 \u0441\u043c\u043e\u0433\u0443 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u0442\u044c \u0440\u0435\u0448\u0435\u043d\u0438\u0435. \u041f\u0440\u0438\u0447\u0438\u043d\u0430 \u0432 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0435 HTTP\/1.1, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435, \u043a\u043e\u0433\u0434\u0430 \u00ab\u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0430\u043b \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434\u00bb (\u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b \u044f\u0434\u0440\u043e \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u0430). <\/p>\n<p>  \u0412\u0441\u0451 \u0434\u0435\u043b\u043e \u0432 HTTP-\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u00abHost:\u00bb. \u041f\u0440\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u0442\u0430\u043c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u0441\u0451, \u0447\u0442\u043e \u0443\u0433\u043e\u0434\u043d\u043e, \u043f\u0440\u0438\u0447\u0451\u043c \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u044d\u0442\u043e \u043f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e HTTP\/1.1. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0436\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u043b\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f SEO-\u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439. \u0417\u0430\u0431\u0435\u0433\u0430\u044f \u0432\u043f\u0435\u0440\u0451\u0434, \u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, nginx) \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0440\u0435\u0448\u0438\u0442\u044c \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443.<\/p>\n<p>  \u0414\u043b\u044f \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0440\u0435\u0448\u0438\u043b \u043f\u0435\u0440\u0435\u0431\u0440\u0430\u0442\u044c \u0441\u0430\u0439\u0442\u044b <a href=\"http:\/\/habrahabr.ru\/companies\/\">\u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439 \u0425\u0430\u0431\u0440\u0430<\/a>. \u0414\u043b\u044f \u0434\u044e\u0436\u0438\u043d\u044b \u0441\u0430\u0439\u0442\u043e\u0432 \u0441\u0434\u0435\u043b\u0430\u043b \u044d\u0442\u043e \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u0430 \u043f\u043e\u0442\u043e\u043c \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b, \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0430\u0439\u0442\u044b \u043d\u0430 \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442 \u00ab\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u00bb. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0431\u044b\u043b\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u044b\u0445 \u0441\u0430\u0439\u0442\u043e\u0432.<\/p>\n<p>  \u0427\u0442\u043e \u0436\u0435 \u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442 REQUEST_URI \u0432 HTTP\/1.1?<\/p>\n<p>  <a name=\"habracut\"><\/a><\/p>\n<h2>\u0422\u0435\u043e\u0440\u0438\u044f<\/h2>\n<h3>HTTP\/1.0<\/h3>\n<p>  \u041d\u0430\u0447\u043d\u0443 \u0441 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 HTTP\/1.0, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043f\u0438\u0441\u0430\u043d \u0432 RfC1945 <a href=\"http:\/\/www.w3.org\/Protocols\/rfc1945\/rfc1945\">www.w3.org\/Protocols\/rfc1945\/rfc1945<\/a> \u0438 \u0434\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u043c\u0430\u0435\u043c 1996 \u0433\u043e\u0434\u0430. \u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043d\u0443\u0436\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u043a\u0443:  <\/p>\n<pre>GET \/path\/to\/resource.html HTTP\/1.0<\/pre>\n<p>  \u041f\u0440\u0438 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0438 \u043a \u043f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0431\u044b\u043b\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u044b\u0439 \u043f\u0443\u0442\u044c, \u0430 \u043f\u043e\u043b\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441:  <\/p>\n<pre>GET http:\/\/domain.name\/path\/to\/resource.html HTTP\/1.0<\/pre>\n<p>  \u042d\u0442\u043e \u0432\u0441\u0451 \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 5.1.2 \u00abRequest-URI\u00bb.<\/p>\n<h3>\u041f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435 Host<\/h3>\n<p>  \u0427\u0442\u043e\u0431\u044b \u043e\u0434\u0438\u043d \u0441\u0435\u0440\u0432\u0435\u0440 \u043c\u043e\u0433 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0442\u044c \u0441\u0440\u0430\u0437\u0443 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u043c\u0435\u043d\u043d\u044b\u0445 \u0438\u043c\u0451\u043d \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u00abHost:\u00bb, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u043b \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0434\u043e\u043c\u0435\u043d, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0438\u0434\u0451\u0442 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435. \u0425\u043e\u0442\u044f \u0434\u0430\u043d\u043d\u044b\u0439 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0438 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0447\u0430\u0441\u0442\u044c\u044e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430 HTTP\/1.0, \u043d\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c\u0438 \u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c\u0438 \u043e\u043d \u0441\u0442\u0430\u043b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, wget \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 HTTP\/1.0, \u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u00abHost:\u00bb.<\/p>\n<h3>HTTP\/1.1<\/h3>\n<p>  \u0412 \u0438\u044e\u043d\u0435 1999 \u0433\u043e\u0434\u0430 (\u0447\u0435\u0442\u044b\u0440\u043d\u0430\u0434\u0446\u0430\u0442\u044c \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434) \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b HTTP\/1.1, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043f\u0438\u0441\u0430\u043d \u0432 RfC2616 <a href=\"http:\/\/www.w3.org\/Protocols\/rfc2616\/rfc2616.html\">www.w3.org\/Protocols\/rfc2616\/rfc2616.html<\/a>. \u0412 <a href=\"http:\/\/www.w3.org\/Protocols\/rfc2616\/rfc2616-sec14.html#sec14.23\">\u0440\u0430\u0437\u0434\u0435\u043b\u0435 14.23<\/a> \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b, \u0447\u0442\u043e\u0431\u044b \u043a\u0430\u0436\u0434\u044b\u0439 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043b \u043f\u043e\u043b\u0435 \u00abHost\u00bb:  <\/p>\n<blockquote><p>A client MUST include a Host header field in all HTTP\/1.1 request messages. If the requested URI does not include an Internet host name for the service being requested, then the Host header field MUST be given with an empty value.<\/p><\/blockquote>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u044d\u0442\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0441\u043d\u0443\u043b\u0438\u0441\u044c Request-URI \u0438\u0437 \u0441\u0442\u0440\u043e\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 (<a href=\"http:\/\/www.w3.org\/Protocols\/rfc2616\/rfc2616-sec5.html#sec5.1.2\">\u0440\u0430\u0437\u0434\u0435\u043b 5.1.2<\/a>). \u041a\u0430\u043a \u0438 \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0435 \u043f\u043e\u043b\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445 \u043a \u043f\u0440\u043e\u043a\u0441\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c (\u00abThe absoluteURI form is REQUIRED when the request is being made to a proxy.\u00bb). \u041d\u043e \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u043d\u0430 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0432\u0441\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u0445\u043e\u0442\u044f \u043e\u0444\u043e\u0440\u043c\u043b\u044f\u0442\u044c \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043a\u043b\u0438\u0435\u043d\u0442\u044b \u0431\u0443\u0434\u0443\u0442 \u043b\u0438\u0448\u044c \u043a \u043f\u0440\u043e\u043a\u0441\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c:  <\/p>\n<blockquote><p>To allow for transition to absoluteURIs in all requests in future versions of HTTP, all HTTP\/1.1 servers MUST accept the absoluteURI form in requests, even though HTTP\/1.1 clients will only generate them in requests to proxies.<\/p><\/blockquote>\n<p>  \u041e\u0431\u0440\u0430\u0449\u0430\u044e \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u043b\u0441\u044f \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u043f\u043e\u043b\u043d\u044b\u0435 \u0430\u0434\u0440\u0435\u0441\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043b\u0438\u0448\u044c \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u044b\u0445 \u043f\u0443\u0442\u0435\u0439. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0432 \u044f\u0432\u043d\u043e\u043c \u0432\u0438\u0434\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043c\u0435\u043d\u0438\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0441 absoluteURI, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u043e\u0437\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u0447\u0442\u043e \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0437\u0430\u043f\u0440\u043e\u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u043c, \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u044e \u0441\u0440\u0430\u0437\u0443, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u00ab\u043a\u043b\u0438\u0435\u043d\u0442 \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u0440\u0430\u0432\u00bb.<\/p>\n<h3>Host \u0432 HTTP\/1.1<\/h3>\n<p>  \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 Request-URI \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u0431\u0435\u0437\u043e\u0431\u0438\u0434\u043d\u044b\u043c\u0438, \u043d\u043e <a href=\"http:\/\/www.w3.org\/Protocols\/rfc2616\/rfc2616-sec5.html#sec5.2\">\u0440\u0430\u0437\u0434\u0435\u043b 5.2<\/a> \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043e\u0434\u043d\u043e \u0432\u0430\u0436\u043d\u043e\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435: \u00abIf Request-URI is an absoluteURI, the host is part of the Request-URI. Any Host header field value in the request MUST be ignored.\u00bb \u0422\u043e \u0435\u0441\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430  <\/p>\n<pre>GET http:\/\/domain.name\/path\/to\/resource.html HTTP\/1.1 Host: \u043b\u044e\u0431\u043e\u0439_\u0442\u0435\u043a\u0441\u0442_\u0442\u0443\u0442<\/pre>\n<p>  \u0434\u043e\u043b\u0436\u043d\u0430 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0442\u044c \u0441 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c  <\/p>\n<pre>GET \/path\/to\/resource.html HTTP\/1.1 Host: domain.name<\/pre>\n<p>  \u0412\u044b \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442\u0435 \u00abHost:\u00bb \u043f\u0440\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445 \u0441 absoluteURI?<\/p>\n<h3>%{REQUEST_URI} \u0438 $_SERVER[&quot;REQUEST_URI&quot;]<\/h3>\n<p>  \u0412 <a href=\"http:\/\/httpd.apache.org\/docs\/current\/mod\/mod_rewrite.html\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043f\u043e mod_rewrite<\/a> \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:  <\/p>\n<blockquote><p><b>THE_REQUEST<\/b><br \/>  The full HTTP request line sent by the browser to the server (e.g., \u00abGET \/index.html HTTP\/1.1\u00bb). This does not include any additional headers sent by the browser. This value has not been unescaped (decoded), unlike most other variables below.<\/p>\n<p>  <b>REQUEST_URI<\/b><br \/>  The path component of the requested URI, such as &quot;\/index.html&quot;. This notably excludes the query string which is available as as its own variable named QUERY_STRING.<\/p><\/blockquote>\n<p>  \u0422\u043e \u0435\u0441\u0442\u044c \u0432 %{REQUEST_URI} \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u0438 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430.<\/p>\n<p>  \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e SEO \u0437\u0430\u0434\u0430\u0447\u0443 \u043f\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u00abwww\u00bb \u043a \u0434\u043e\u043c\u0435\u043d\u0443 \u0431\u0435\u0437 \u043d\u0435\u0433\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e mod_rewrite, \u0435\u0441\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0437\u0430\u043f\u0440\u043e\u0441:  <\/p>\n<pre>GET http:\/\/domain.name\/path\/to\/resource.html HTTP\/1.1 Host: www.domain.name<\/pre>\n<p>  \u0412\u043d\u0430\u0447\u0430\u043b\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u043b \u043f\u0440\u043e \u043e\u0442\u043b\u0438\u0447\u0438\u0435 <b>%{REQUEST_URI}<\/b> \u0432 Apache mod_rewrite \u043e\u0442 <b>$_SERVER[&quot;REQUEST_URI&quot;]<\/b> \u0432 PHP, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0432\u0435\u0434\u0443 \u0432\u044b\u0434\u0435\u0440\u0436\u043a\u0443 \u0438\u0437 <a href=\"http:\/\/www.php.net\/manual\/en\/reserved.variables.server.php\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043a PHP<\/a>:  <\/p>\n<blockquote><p><b>REQUEST_URI<\/b><br \/>  The URI which was given in order to access this page; for instance, &#8216;\/index.html&#8217;.<\/p><\/blockquote>\n<p>  \u041c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u044d\u0442\u043e \u0433\u0434\u0435-\u043d\u0438\u0431\u0443\u0434\u044c \u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u043d\u043e \u0443 \u043c\u0435\u043d\u044f PHP\/5.3.13 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 absoluteURI \u043f\u0440\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u0441 \u043f\u043e\u043b\u043d\u044b\u043c \u0430\u0434\u0440\u0435\u0441\u043e\u043c.<\/p>\n<h2>\u041f\u0440\u0430\u043a\u0442\u0438\u043a\u0430<\/h2>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0442\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u0436\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u0440\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445 \u043a \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c. \u0410\u0434\u0440\u0435\u0441\u0430 \u0441\u0430\u0439\u0442\u043e\u0432 \u0432\u0437\u044f\u043b \u0441\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b <a href=\"http:\/\/habrahabr.ru\/companies\/\">\u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439 \u0425\u0430\u0431\u0440\u0430<\/a> (\u0442\u0430\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f, \u0431\u0440\u0430\u043b \u0432 \u043a\u043e\u043d\u0446\u0435 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u043d\u0435\u0434\u0435\u043b\u0438). \u041d\u0430\u0431\u0440\u043e\u0441\u0430\u043b \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0430 Node.JS, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044f http_check \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u043e\u0434\u0438\u043d\u043e\u0447\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b, \u0430 full_http_check \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442 \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043f\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u0448\u0430\u0431\u043b\u043e\u043d\u0430\u043c.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u043a\u043e\u0434 \u0441\u043a\u0440\u0438\u043f\u0442\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">var net = require('net');  var default_result = function(title) { \tif (title) { \t\treturn \t{'title': 'title', 'step': 'step', 'host': 'host', 'request': 'request', 'header': 'header', 'full_response': 'full_response', 'response': 'response', 'server': 'server', 'length': 'length', 'location': 'location', 'error': 'error'}; \t} else { \t\treturn \t{'title': '', 'step': '', 'host': '', 'request': '', 'header': '', 'full_response': '', 'response': '', 'server': '', 'length': '', 'location': '', 'error': ''}; \t} };  var format_result = function(result) { \treturn '' + result['title'].toString() + '\\t' \t\t+ result['step'] + '\\t' \t\t+ result['host'] + '\\t' \t\t+ result['request'].toString() + '\\t'  \t\t+ result['header'].toString() + '\\t'  \t\t+ result['response'].toString() + '\\t'  \t\t+ result['server'].toString() + '\\t'  \t\t+ result['length'].toString() + '\\t' \t\t+ result['error'].toString() + '\\t'  \t\t+ result['location'].toString() + '\\t'  \t\t+ result['full_response'].toString(); };  var http_check = function(title, step, host, req, host_hdr) { \tvar host_header = host_hdr || ''; \tvar result = default_result(false); \tresult['title'] = title; \tresult['step'] = step; \tresult['host'] = host; \tresult['request'] = req; \tresult['header'] = host_header; \tvar dat = ''; \t  \tvar client = net.connect({port: 80, host: host}, \t\tfunction() { \/\/'connect' listener \t\t\tclient.on('data', function (data) { \t\t\t\tdat = dat + data; \t\t\t\tvar lines = dat.toString().split('\\r\\n'); \t\t\t\tresult['full_response'] = JSON.stringify(dat.toString().split('\\r\\n\\r\\n')[0]); \t\t\t\tresult['response']  = lines[0] || false; \t\t\t\tif (lines[0].substring(0, 5) == 'HTTP\/') { \t\t\t\t\tvar i = 1; \t\t\t\t\twhile (lines[i] != '') { \t\t\t\t\t\tvar title = lines[i].match(\/^([^:]+:)\\s(.+)$\/); \t\t\t\t\t\tif (title[1] == 'Location:') { \t\t\t\t\t\t\tresult['location'] = title[2]; \t\t\t\t\t\t} else if (title[1] == 'Server:') { \t\t\t\t\t\t\tresult['server'] = title[2]; \t\t\t\t\t\t} else if (title[1] == 'Content-Length:') { \t\t\t\t\t\t\tresult['length'] = title[2]; \t\t\t\t\t\t} \t\t\t\t\t\ti++; \t\t\t\t\t} \t\t\t\t\tif (dat.indexOf('\\r\\n\\r\\n') &gt;= 0) { \t\t\t\t\t\tclient.end(); \t\t\t\t\t\tclient.destroy(); \t\t\t\t\t} \t\t\t\t} else { \t\t\t\t\tclient.end(); \t\t\t\t\tclient.destroy(); \t\t\t\t} \t\t\t\t \t\t\t}); \t\t\tclient.on('end', function () { \t\t\t  console.log('client disconnected'); \t\t\t});  \t\t\tclient.on('error', function (error) { \t\t\t\tconsole.log('ERROR: ' + error.toString()); \t\t\t});  \t\t\tclient.on('timeout', function () { \t\t\t\tconsole.log('Timeout'); \t\t\t}); \t\t\t\t \t\t\tclient.on('close', function (had_error)\t{ \t\t\t\tresult['error'] = result['error'] || had_error || ''; \t\t\t\tconsole.log(format_result(result)); \t\t\t});  \t\t\t\tclient.write(req + '\\r\\n'); \t\t\t\thost_hdr && client.write('Host: ' + host_hdr + '\\r\\n'); \t\t\t\tclient.write('\\r\\n'); \t\t\t});  \t };  var full_http_check = function(title, url) { \tvar parts = url.match(\/^http:\\\/\\\/([^\\\/]+)(.+)$\/);  \/\/ 1 \/\/ GET \/path\/to\/resource.html HTTP\/1.1 \/\/ Host: domain.name \thttp_check(title, '01', parts[1], 'GET ' + parts[2] + ' HTTP\/1.1', parts[1]); \t \/\/ 2 \/\/ GET http:\/\/domain.name\/path\/to\/resource.html HTTP\/1.1 \/\/ Host: domain.name \thttp_check(title, '02', parts[1], 'GET http:\/\/' + parts[1] + parts[2] + ' HTTP\/1.1', parts[1]);  \/\/ 3 \/\/ GET \/path\/to\/resource.html HTTP\/1.0 \thttp_check(title, '03', parts[1], 'GET ' + parts[2] + ' HTTP\/1.0', '');  \/\/ 4 \/\/ GET \/path\/to\/resource.html HTTP\/1.0 \/\/ Host: domain.name \thttp_check(title, '04', parts[1], 'GET ' + parts[2] + ' HTTP\/1.0', parts[1]);  \/\/ 5 \/\/ GET http:\/\/domain.name\/path\/to\/resource.html HTTP\/1.0 \thttp_check(title, '05', parts[1], 'GET http:\/\/' + parts[1] + parts[2] + ' HTTP\/1.0', '');  \/\/ 6 \/\/ GET http:\/\/domain.name\/path\/to\/resource.html HTTP\/1.0 \/\/ Host: domain.name \thttp_check(title, '06', parts[1], 'GET http:\/\/' + parts[1] + parts[2] + ' HTTP\/1.0', parts[1]);  \/\/ 7 \/\/ GET http:\/\/domain.name\/path\/to\/resource.html HTTP\/1.1 \/\/ Host: void.domain.name \thttp_check(title, '07', parts[1], 'GET http:\/\/' + parts[1] + parts[2] + ' HTTP\/1.1', 'void.' + parts[1]);  \/\/ 8 \/\/ GET http:\/\/domain.name\/path\/to\/resource.html HTTP\/1.1 \/\/ Host: local.fake \thttp_check(title, '08', parts[1], 'GET http:\/\/' + parts[1] + parts[2] + ' HTTP\/1.1', 'local.fake');  \/\/ 9 \/\/ GET http:\/\/domain.name\/path\/to\/resource.html HTTP\/1.1 \/\/ Host: l-IjFN=fiG(w+J2p:#.{92!m`d^? \thttp_check(title, '09', parts[1], 'GET http:\/\/' + parts[1] + parts[2] + ' HTTP\/1.1', 'l-IjFN=fiG(w+J2p:#.{92!m`d^?');  \/\/ 10 \/\/ GET http:\/\/fake.domain.name\/path\/to\/resource.html HTTP\/1.1 \/\/ Host: domain.name \thttp_check(title, '10', parts[1], 'GET http:\/\/fake.' + parts[1] + parts[2] + ' HTTP\/1.1', parts[1]);  \/\/ 11 \/\/ GET http:\/\/local.fake\/path\/to\/resource.html HTTP\/1.1 \/\/ Host: domain.name \thttp_check(title, '11', parts[1], 'GET http:\/\/local.fake' + parts[2] + ' HTTP\/1.1', parts[1]);  \/\/ 12 \/\/ GET http:\/\/l-IjFN=fiG(w+J2p:#.{92!m`d^?\/path\/to\/resource.html HTTP\/1.1 \/\/ Host: domain.name \thttp_check(title, '12', parts[1], 'GET http:\/\/l-IjFN=fiG(w+J2p:#.{92!m`d^?' + parts[2] + ' HTTP\/1.1', parts[1]);  \/\/ 13 \/\/ GET http:\/\/local.fake\/path\/to\/resource.html HTTP\/1.1 \/\/ Host: void.domain.name \thttp_check(title, '13', parts[1], 'GET http:\/\/local.fake' + parts[2] + ' HTTP\/1.1', 'void.' + parts[1]);  \/\/ 14 \/\/ GET habr:\/\/domain.name\/path\/to\/resource.html HTTP\/1.1 \/\/ Host: domain.name \thttp_check(title, '14', parts[1], 'GET habr:\/\/' + parts[1] + parts[2] + ' HTTP\/1.1', parts[1]);  \/\/ 15 \/\/ GET habr:\/\/void.domain.name\/path\/to\/resource.html HTTP\/1.1 \/\/ Host: domain.name \thttp_check(title, '15', parts[1], 'GET habr:\/\/void.' + parts[1] + parts[2] + ' HTTP\/1.1', parts[1]);  \/\/ 16 \/\/ GET habr:\/\/local.fake\/path\/to\/resource.html HTTP\/1.1 \/\/ Host: domain.name \thttp_check(title, '16', parts[1], 'GET habr:\/\/local.fake' + parts[2] + ' HTTP\/1.1', parts[1]);  \/\/ 17 \/\/ GET habr:\/\/l-IjFN=fiG(w+J2p:#.{92!m`d^?\/path\/to\/resource.html HTTP\/1.1 \/\/ Host: domain.name \thttp_check(title, '17', parts[1], 'GET habr:\/\/l-IjFN=fiG(w+J2p:#.{92!m`d^?' + parts[2] + ' HTTP\/1.1', parts[1]);  \/\/ 18 \/\/ GET habr:\/\/l-IjFN=fiG(w+J2p:#.{92!m`d^?\/path\/to\/resource.html HTTP\/1.1 \/\/ Host: local.fake \thttp_check(title, '18', parts[1], 'GET habr:\/\/l-IjFN=fiG(w+J2p:#.{92!m`d^?' + parts[2] + ' HTTP\/1.1', 'local.fake'); };    console.log(format_result(default_result(true)));  \/* http_check('IBM Fake', 'www.ibm.com', 'GET ttp:\/\/com\/midmarket\/ru\/ru\/ HTTP\/1.1', 'ibm'); full_http_check('IBM', 'http:\/\/www.ibm.com\/midmarket\/ru\/ru\/'); *\/  full_http_check('\u042f\u043d\u0434\u0435\u043a\u0441', 'http:\/\/company.yandex.ru\/about\/main\/'); full_http_check('JetBrains', 'http:\/\/www.jetbrains.com\/products.html'); full_http_check('Box Overview', 'http:\/\/7del.net\/texts\/galaxy-note.html'); full_http_check('KolibriOS Project Team', 'http:\/\/kolibrios.org\/en\/download.htm'); full_http_check('Opera Software ASA', 'http:\/\/www.opera.com\/about'); full_http_check('Apps4All', 'http:\/\/apps4all.ru\/news\/apple\/apple-ios-7-beta.html'); full_http_check('\u041d\u043e\u0440\u0434\u0430\u0432\u0438\u043d\u0434', 'http:\/\/nordavind.ru\/node\/207'); full_http_check('Mail.Ru Group', 'http:\/\/corp.mail.ru\/about\/'); full_http_check('Microsoft', 'http:\/\/windows.microsoft.com\/ru-RU\/windows\/home'); full_http_check('Zfort Group', 'http:\/\/www.zfort.com.ua\/company\/about\/'); full_http_check('IBM', 'http:\/\/www.ibm.com\/contact\/ru\/ru\/'); full_http_check('UIDG', 'http:\/\/uidesign.ru\/about\/'); full_http_check('Intel', 'http:\/\/www.intel.ru\/content\/www\/ru\/ru\/company-overview\/company-overview.html'); full_http_check('Rusonyx', 'http:\/\/www.rusonyx.ru\/company\/reasons\/'); full_http_check('\u041c\u043e\u0441\u0438\u0433\u0440\u0430', 'http:\/\/www.mosigra.ru\/page\/about\/'); full_http_check('DevConf', 'http:\/\/devconf.ru\/about\/'); full_http_check('e-Legion Ltd.', 'http:\/\/www.e-legion.ru\/contacts\/'); full_http_check('Badoo', 'http:\/\/corp.badoo.com\/company\/'); full_http_check('\u0412\u044b\u043c\u043f\u0435\u043b\u041a\u043e\u043c (\u0411\u0438\u043b\u0430\u0439\u043d)', 'http:\/\/mobile.beeline.ru\/msk\/setup\/index.wbp'); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u0438 \u0440\u0435\u0430\u043a\u0446\u0438\u044e \u0441\u0430\u0439\u0442\u043e\u0432.<\/p>\n<h3>\u0417\u0430\u043f\u0440\u043e\u0441 1<\/h3>\n<p>  \u0421\u0430\u043c\u044b\u0439 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0451\u043d\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 HTTP\/1.1, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0439 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a Host. \u041d\u0430 \u043d\u0435\u0433\u043e \u0434\u043e\u043b\u0436\u0435\u043d \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0439 \u0441\u0435\u0440\u0432\u0435\u0440, \u0442\u043e \u0435\u0441\u0442\u044c \u0436\u0434\u0451\u043c \u00abHTTP\/1.1 200 OK\u00bb.  <\/p>\n<pre>GET \/path\/to\/resource.html HTTP\/1.1 Host: domain.name<\/pre>\n<p>  \u0412\u0441\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0432\u0435\u0440\u043d\u0443\u043b\u0438 \u00abHTTP\/1.1 200 OK\u00bb. \u041d\u0438\u0436\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u043e\u0442\u0432\u0435\u0442\u0430 \u00abServer\u00bb:  <\/p>\n<table>\n<tr>\n<th>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f<\/th>\n<th>\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u00abServer:\u00bb<\/th>\n<\/tr>\n<tr>\n<td>Apps4All<\/td>\n<td>nginx\/1.0.15<\/td>\n<\/tr>\n<tr>\n<td>Badoo<\/td>\n<td>nginx<\/td>\n<\/tr>\n<tr>\n<td>Box Overview<\/td>\n<td>nginx\/1.2.1<\/td>\n<\/tr>\n<tr>\n<td>DevConf<\/td>\n<td>nginx\/1.0.15<\/td>\n<\/tr>\n<tr>\n<td>e-Legion Ltd.<\/td>\n<td>nginx\/1.0.5<\/td>\n<\/tr>\n<tr>\n<td>IBM<\/td>\n<td>IBM_HTTP_Server<\/td>\n<\/tr>\n<tr>\n<td>Intel<\/td>\n<td>Microsoft-IIS\/7.5<\/td>\n<\/tr>\n<tr>\n<td>JetBrains<\/td>\n<td>nginx<\/td>\n<\/tr>\n<tr>\n<td>KolibriOS Project Team<\/td>\n<td>lighttpd\/1.4.32<\/td>\n<\/tr>\n<tr>\n<td>Mail.Ru Group<\/td>\n<td>nginx\/1.2.5<\/td>\n<\/tr>\n<tr>\n<td>Microsoft<\/td>\n<td>Microsoft-IIS\/7.5<\/td>\n<\/tr>\n<tr>\n<td>Opera Software ASA<\/td>\n<td>nginx<\/td>\n<\/tr>\n<tr>\n<td>Rusonyx<\/td>\n<td>nginx<\/td>\n<\/tr>\n<tr>\n<td>UIDG<\/td>\n<td>Apache<\/td>\n<\/tr>\n<tr>\n<td>Zfort Group<\/td>\n<td>nginx\/1.4.1<\/td>\n<\/tr>\n<tr>\n<td>\u0412\u044b\u043c\u043f\u0435\u043b\u041a\u043e\u043c (\u0411\u0438\u043b\u0430\u0439\u043d)<\/td>\n<td>Microsoft-IIS\/7.5<\/td>\n<\/tr>\n<tr>\n<td>\u041c\u043e\u0441\u0438\u0433\u0440\u0430<\/td>\n<td>nginx\/1.4.1<\/td>\n<\/tr>\n<tr>\n<td>\u041d\u043e\u0440\u0434\u0430\u0432\u0438\u043d\u0434<\/td>\n<td>nginx\/1.0.4<\/td>\n<\/tr>\n<tr>\n<td>\u042f\u043d\u0434\u0435\u043a\u0441<\/td>\n<td>nginx\/1.2.1<\/td>\n<\/tr>\n<\/table>\n<h3>\u0417\u0430\u043f\u0440\u043e\u0441 2<\/h3>\n<p>  \u0412\u0430\u0440\u0438\u0430\u043d\u0442 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u043d\u043e \u0432\u043c\u0435\u0441\u0442\u043e \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e\u0433\u043e \u043f\u0443\u0442\u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043f\u043e\u043b\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441.  <\/p>\n<pre>GET http:\/\/domain.name\/path\/to\/resource.html HTTP\/1.1 Host: domain.name<\/pre>\n<p>  \u0412 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u044d\u0442\u043e\u0442 \u0437\u0430\u043f\u0440\u043e\u0441 \u0432\u0441\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043e\u043f\u044f\u0442\u044c \u043f\u0440\u043e\u044f\u0432\u0438\u043b\u0438 \u0435\u0434\u0438\u043d\u043e\u0434\u0443\u0448\u0438\u0435. \u00ab\u041b\u0451\u0433\u043a\u0438\u0435\u00bb \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0443\u043c\u0435\u0435\u0442.<\/p>\n<h3>\u0417\u0430\u043f\u0440\u043e\u0441 3<\/h3>\n<p>  \u0417\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 HTTP\/1.0 \u0441 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u044b\u043c \u043f\u0443\u0442\u0451\u043c, \u0431\u0435\u0437 \u00abHost:\u00bb. \u0414\u043e\u043b\u0436\u043d\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u00abHTTP\/1.0 200 OK\u00bb.  <\/p>\n<pre>GET \/path\/to\/resource.html HTTP\/1.0<\/pre>\n<p>  \u041d\u0430 \u0442\u0440\u0435\u0442\u044c\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u00ab\u043f\u043e\u0441\u044b\u043f\u0430\u043b\u0438\u0441\u044c\u00bb. \u0418 \u043d\u0435\u0442 \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u043e\u0442\u0432\u0435\u0442\u0430 \u00abHTTP\/1.0 200 OK\u00bb.  <\/p>\n<table>\n<tr>\n<th>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f<\/th>\n<th>\u041e\u0442\u0432\u0435\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/th>\n<\/tr>\n<tr>\n<td>Apps4All<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<\/tr>\n<tr>\n<td>Badoo<\/td>\n<td>HTTP\/1.1 302 Moved Temporarily<\/td>\n<\/tr>\n<tr>\n<td>Box Overview<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>DevConf<\/td>\n<td>HTTP\/1.1 404 Not Found<\/td>\n<\/tr>\n<tr>\n<td>e-Legion Ltd.<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<\/tr>\n<tr>\n<td>IBM<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>Intel<\/td>\n<td>HTTP\/1.0 400 Bad Request<\/td>\n<\/tr>\n<tr>\n<td>JetBrains<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<\/tr>\n<tr>\n<td>KolibriOS Project Team<\/td>\n<td>HTTP\/1.0 404 Not Found<\/td>\n<\/tr>\n<tr>\n<td>Mail.Ru Group<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>Microsoft<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>Opera Software ASA<\/td>\n<td>HTTP\/1.1 404 Not Found<\/td>\n<\/tr>\n<tr>\n<td>Rusonyx<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<\/tr>\n<tr>\n<td>UIDG<\/td>\n<td>HTTP\/1.1 404 Not Found<\/td>\n<\/tr>\n<tr>\n<td>Zfort Group<\/td>\n<td>HTTP\/1.1 404 Not Found<\/td>\n<\/tr>\n<tr>\n<td>\u0412\u044b\u043c\u043f\u0435\u043b\u041a\u043e\u043c (\u0411\u0438\u043b\u0430\u0439\u043d)<\/td>\n<td>HTTP\/1.1 302 Redirect<\/td>\n<\/tr>\n<tr>\n<td>\u041c\u043e\u0441\u0438\u0433\u0440\u0430<\/td>\n<td>HTTP\/1.1 404 Not Found<\/td>\n<\/tr>\n<tr>\n<td>\u041d\u043e\u0440\u0434\u0430\u0432\u0438\u043d\u0434<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>\u042f\u043d\u0434\u0435\u043a\u0441<\/td>\n<td>HTTP\/1.1 404 Not Found<\/td>\n<\/tr>\n<\/table>\n<h3>\u0417\u0430\u043f\u0440\u043e\u0441 4<\/h3>\n<p>  \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0437\u0430\u043f\u0440\u043e\u0441, \u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u00abHost:\u00bb. \u041e\u0442 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043b\u0438\u0448\u044c \u0432\u0435\u0440\u0441\u0438\u0435\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430.  <\/p>\n<pre>GET \/path\/to\/resource.html HTTP\/1.0 Host: domain.name<\/pre>\n<p>  \u041e\u0447\u0435\u043d\u044c \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043b Host \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u2014 \u0443 \u0432\u0441\u0435\u0445 \u043e\u0442\u0432\u0435\u0442 \u00ab200 OK\u00bb, \u043d\u043e HTTP\/1.0 \u0431\u044b\u043b \u043b\u0438\u0448\u044c \u0443 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445: Intel \u0438 KolibriOS Project Team.<\/p>\n<h3>\u0417\u0430\u043f\u0440\u043e\u0441 5<\/h3>\n<p>  \u0417\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 HTTP\/1.0 \u0441 \u043f\u043e\u043b\u043d\u044b\u043c \u0430\u0434\u0440\u0435\u0441\u043e\u043c, \u0431\u0435\u0437 \u00abHost:\u00bb. \u0411\u044b\u043b\u043e \u0431\u044b \u0437\u0434\u043e\u0440\u043e\u0432\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u00abHTTP\/1.0 200 OK\u00bb.  <\/p>\n<pre>GET http:\/\/domain.name\/path\/to\/resource.html HTTP\/1.0<\/pre>\n<p>  \u041a\u0430\u0440\u0442\u0438\u043d\u0430 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c\u0438 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u043d\u043e \u0432\u043e\u0442 e-Legion Ltd. \u0432\u044b\u0434\u0430\u043b \u00abHTTP\/1.1 500 INTERNAL SERVER ERROR\u00bb. <\/p>\n<h3>\u0417\u0430\u043f\u0440\u043e\u0441 6<\/h3>\n<p>  \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0437\u0430\u043f\u0440\u043e\u0441, \u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u00abHost:\u00bb. \u041e\u0442 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043b\u0438\u0448\u044c \u0432\u0435\u0440\u0441\u0438\u0435\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430.  <\/p>\n<pre>GET http:\/\/domain.name\/path\/to\/resource.html HTTP\/1.0 Host: domain.name<\/pre>\n<p>  \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 \u0441 \u0447\u0435\u0442\u0432\u0451\u0440\u0442\u044b\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c, \u0442\u043e \u0435\u0441\u0442\u044c \u00abHost:\u00bb \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u043b \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044e\u044e \u043e\u0448\u0438\u0431\u043a\u0443 \u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 e-Legion Ltd.<\/p>\n<h3>\u0417\u0430\u043f\u0440\u043e\u0441 7<\/h3>\n<p>  \u0412\u0430\u0440\u0438\u0430\u043d\u0442 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441 \u043f\u043e\u043b\u043d\u044b\u043c \u0430\u0434\u0440\u0435\u0441\u043e\u043c, \u043d\u043e \u0432 \u00abHost:\u00bb \u0437\u0430\u043f\u0438\u0448\u0435\u043c \u043d\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043f\u043e\u0434\u0434\u043e\u043c\u0435\u043d. \u0417\u0430\u043f\u0440\u043e\u0441 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u00abHTTP\/1.1 200 OK\u00bb.  <\/p>\n<pre>GET http:\/\/domain.name\/path\/to\/resource.html HTTP\/1.1 Host: void.domain.name<\/pre>\n<h3>\u0417\u0430\u043f\u0440\u043e\u0441 8<\/h3>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u00abHost:\u00bb \u0443\u043a\u0430\u0436\u0435\u043c \u043d\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0434\u043e\u043c\u0435\u043d. \u0412 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u043e\u0441\u044c, \u043d\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0443\u0436\u0435 \u043d\u0435 \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f.  <\/p>\n<pre>GET http:\/\/domain.name\/path\/to\/resource.html HTTP\/1.1 Host: local.fake<\/pre>\n<h3>\u0417\u0430\u043f\u0440\u043e\u0441 9<\/h3>\n<p>  \u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u00abHost:\u00bb \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0430\u043f\u0438\u0448\u0435\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043f\u043e\u0437\u0430\u0432\u0438\u0434\u0443\u044e\u0442 \u043c\u043d\u043e\u0433\u0438\u0435 \u043f\u0430\u0440\u043e\u043b\u0438. \u041f\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0443 \u0431\u0443\u0434\u0435\u043c \u043e\u0436\u0438\u0434\u0430\u0442\u044c \u00abHTTP\/1.1 200 OK\u00bb.  <\/p>\n<pre>GET http:\/\/domain.name\/path\/to\/resource.html HTTP\/1.1 Host: l-IjFN=fiG(w+J2p:#.{92!m`d^?<\/pre>\n<p>  \u041d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u044b 7-9 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043e\u0442\u0432\u0435\u0447\u0430\u043b\u0438 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<table>\n<tr>\n<th>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f<\/th>\n<th>\u041e\u0442\u0432\u0435\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/th>\n<th>\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u00abServer:\u00bb<\/th>\n<\/tr>\n<tr>\n<td>Apps4All<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>nginx\/1.0.15<\/td>\n<\/tr>\n<tr>\n<td>Badoo<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>nginx<\/td>\n<\/tr>\n<tr>\n<td>Box Overview<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>nginx\/1.2.1<\/td>\n<\/tr>\n<tr>\n<td>DevConf<\/td>\n<td>HTTP\/1.1 500 Internal Server Error<\/td>\n<td>nginx\/1.0.15<\/td>\n<\/tr>\n<tr>\n<td>e-Legion Ltd.<\/td>\n<td>HTTP\/1.1 500 INTERNAL SERVER ERROR<\/td>\n<td>nginx\/1.0.5<\/td>\n<\/tr>\n<tr>\n<td>IBM<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>IBM_HTTP_Server<\/td>\n<\/tr>\n<tr>\n<td>Intel<\/td>\n<td>HTTP\/1.0 400 Bad Request<\/td>\n<td>AkamaiGHost<\/td>\n<\/tr>\n<tr>\n<td>JetBrains<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>nginx<\/td>\n<\/tr>\n<tr>\n<td>KolibriOS Project Team<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>lighttpd\/1.4.32<\/td>\n<\/tr>\n<tr>\n<td>Mail.Ru Group<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>nginx\/1.2.5<\/td>\n<\/tr>\n<tr>\n<td>Microsoft<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>Microsoft-IIS\/7.5<\/td>\n<\/tr>\n<tr>\n<td>Opera Software ASA<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>nginx<\/td>\n<\/tr>\n<tr>\n<td>Rusonyx<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>nginx<\/td>\n<\/tr>\n<tr>\n<td>UIDG<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>Apache<\/td>\n<\/tr>\n<tr>\n<td>Zfort Group<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>nginx\/1.4.1<\/td>\n<\/tr>\n<tr>\n<td>\u0412\u044b\u043c\u043f\u0435\u043b\u041a\u043e\u043c (\u0411\u0438\u043b\u0430\u0439\u043d)<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>Microsoft-IIS\/7.5<\/td>\n<\/tr>\n<tr>\n<td>\u041c\u043e\u0441\u0438\u0433\u0440\u0430<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>nginx\/1.4.1<\/td>\n<\/tr>\n<tr>\n<td>\u041d\u043e\u0440\u0434\u0430\u0432\u0438\u043d\u0434<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>nginx\/1.0.4<\/td>\n<\/tr>\n<tr>\n<td>\u042f\u043d\u0434\u0435\u043a\u0441<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>nginx\/1.2.1<\/td>\n<\/tr>\n<\/table>\n<h3>\u0417\u0430\u043f\u0440\u043e\u0441 10<\/h3>\n<p>  \u041f\u0435\u0440\u0432\u044b\u0439 \u0438\u0437 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u041e\u0442\u043f\u0440\u0430\u0432\u0438\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u00abHost:\u00bb, \u043d\u043e \u0432 \u043f\u043e\u043b\u043d\u043e\u043c \u0430\u0434\u0440\u0435\u0441\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043d\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043f\u043e\u0434\u0434\u043e\u043c\u0435\u043d.   <\/p>\n<pre>GET http:\/\/fake.domain.name\/path\/to\/resource.html HTTP\/1.1 Host: domain.name<\/pre>\n<p>  \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043d\u0430\u0447\u0430\u043b\u0438\u0441\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0441 \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438, \u0442\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043f\u0443\u0433\u0430\u0442\u044c \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u044b.  <\/p>\n<table>\n<tr>\n<th>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f<\/th>\n<th>\u041e\u0442\u0432\u0435\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/th>\n<\/tr>\n<tr>\n<td>Apps4All<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<\/tr>\n<tr>\n<td>Badoo<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<\/tr>\n<tr>\n<td>Box Overview<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>DevConf<\/td>\n<td>HTTP\/1.1 404 Not Found<\/td>\n<\/tr>\n<tr>\n<td>e-Legion Ltd.<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<\/tr>\n<tr>\n<td>IBM<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>Intel<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>JetBrains<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<\/tr>\n<tr>\n<td>KolibriOS Project Team<\/td>\n<td>HTTP\/1.1 404 Not Found<\/td>\n<\/tr>\n<tr>\n<td>Mail.Ru Group<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>Microsoft<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>Opera Software ASA<\/td>\n<td>HTTP\/1.1 404 Not Found<\/td>\n<\/tr>\n<tr>\n<td>Rusonyx<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<\/tr>\n<tr>\n<td>UIDG<\/td>\n<td>HTTP\/1.1 404 Not Found<\/td>\n<\/tr>\n<tr>\n<td>Zfort Group<\/td>\n<td>HTTP\/1.1 404 Not Found<\/td>\n<\/tr>\n<tr>\n<td>\u0412\u044b\u043c\u043f\u0435\u043b\u041a\u043e\u043c (\u0411\u0438\u043b\u0430\u0439\u043d)<\/td>\n<td>HTTP\/1.1 302 Redirect<\/td>\n<\/tr>\n<tr>\n<td>\u041c\u043e\u0441\u0438\u0433\u0440\u0430<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<\/tr>\n<tr>\n<td>\u041d\u043e\u0440\u0434\u0430\u0432\u0438\u043d\u0434<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>\u042f\u043d\u0434\u0435\u043a\u0441<\/td>\n<td>HTTP\/1.1 404 Not Found<\/td>\n<\/tr>\n<\/table>\n<p>  \u041f\u043e\u0447\u0442\u0438 \u0442\u0440\u0435\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u043d\u0435 \u0441\u0442\u0430\u043b\u0430 \u0442\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043f\u0443\u0442\u044c (\u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u0438\u0442\u044c). \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043c\u043d\u043e\u0433\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442 \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443.<\/p>\n<h3>\u0417\u0430\u043f\u0440\u043e\u0441 11<\/h3>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0434\u043e\u043c\u0435\u043d.  <\/p>\n<pre>GET http:\/\/local.fake\/path\/to\/resource.html HTTP\/1.1 Host: domain.name<\/pre>\n<p>  \u0417\u0434\u0435\u0441\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c, \u043d\u043e \u041c\u043e\u0441\u0438\u0433\u0440\u0430 \u0432\u043c\u0435\u0441\u0442\u043e \u00abHTTP\/1.1 301 Moved Permanently\u00bb \u0432\u044b\u0434\u0430\u043b\u0430 \u0443\u0436\u0435 \u00abHTTP\/1.1 404 Not Found\u00bb.<\/p>\n<h3>\u0417\u0430\u043f\u0440\u043e\u0441 12<\/h3>\n<p>  \u0410 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043b\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0434\u043e\u043c\u0435\u043d\u0430?  <\/p>\n<pre>GET http:\/\/l-IjFN=fiG(w+J2p:#.{92!m`d^?\/path\/to\/resource.html HTTP\/1.1 Host: domain.name<\/pre>\n<p>  \u041e\u0442\u0432\u0435\u0442 \u00abHTTP\/1.1 200 OK\u00bb \u043f\u0440\u0438\u0448\u0451\u043b \u043e\u0442 Intel \u0438 Opera Software ASA. IBM \u0438 \u041c\u043e\u0441\u0438\u0433\u0440\u0430 \u0432\u0435\u0440\u043d\u0443\u043b\u0438 \u00abHTTP\/1.1 404 Not Found\u00bb. \u0412\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 404 Bad Request, \u043f\u0440\u0438\u0447\u0451\u043c \u0447\u0430\u0441\u0442\u044c \u0432\u043e\u043e\u0431\u0449\u0435 \u0431\u0435\u0437 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 (\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0432 HTTP\/1.0).<\/p>\n<h3>\u0417\u0430\u043f\u0440\u043e\u0441 13<\/h3>\n<p>  \u041a\u043e\u043f\u0438\u044f \u043e\u0434\u0438\u043d\u0430\u0434\u0446\u0430\u0442\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u043d\u043e \u0435\u0449\u0451 \u0438 \u0441 \u043f\u043e\u0434\u0434\u043e\u043c\u0435\u043d\u043e\u043c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u00abHost:\u00bb. \u0412\u0440\u044f\u0434 \u043b\u0438 \u0438\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0435 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438.  <\/p>\n<pre>GET http:\/\/local.fake\/path\/to\/resource.html HTTP\/1.1 Host: void.domain.name<\/pre>\n<p>  \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0442\u043e\u0436\u0435 \u0441\u0442\u0430\u043b\u0438 \u043a\u043e\u043f\u0438\u0435\u0439 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 11, \u043d\u043e \u0441\u0434\u0430\u043b\u0441\u044f Intel \u0438 \u0432\u0435\u0440\u043d\u0443\u043b \u00abHTTP\/1.0 400 Bad Request\u00bb.<\/p>\n<h3>\u0417\u0430\u043f\u0440\u043e\u0441 14<\/h3>\n<p>  \u0412\u0442\u043e\u0440\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441, \u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u043d\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u043c \u043f\u0440\u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0438 \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430. \u0417\u0434\u0435\u0441\u044c-\u0442\u043e \u0443\u0436\u0435 \u0442\u043e\u0447\u043d\u043e \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0430.  <\/p>\n<pre>GET habr:\/\/domain.name\/path\/to\/resource.html HTTP\/1.1 Host: domain.name<\/pre>\n<p>  \u041e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u043e\u0432 \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b HABR:<\/p>\n<table>\n<tr>\n<th>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f<\/th>\n<th>\u041e\u0442\u0432\u0435\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/th>\n<\/tr>\n<tr>\n<td>Apps4All<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>Badoo<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>Box Overview<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>DevConf<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>e-Legion Ltd.<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>IBM<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>Intel<\/td>\n<td>HTTP\/1.0 400 Bad Request<\/td>\n<\/tr>\n<tr>\n<td>JetBrains<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>KolibriOS Project Team<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<\/tr>\n<tr>\n<td>Mail.Ru Group<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>Microsoft<\/td>\n<td>HTTP\/1.1 400 Bad Request<\/td>\n<\/tr>\n<tr>\n<td>Opera Software ASA<\/td>\n<td>HTTP\/1.1 400 BAD_REQUEST<\/td>\n<\/tr>\n<tr>\n<td>Rusonyx<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>UIDG<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>Zfort Group<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>\u0412\u044b\u043c\u043f\u0435\u043b\u041a\u043e\u043c (\u0411\u0438\u043b\u0430\u0439\u043d)<\/td>\n<td>HTTP\/1.1 400 Bad Request<\/td>\n<\/tr>\n<tr>\n<td>\u041c\u043e\u0441\u0438\u0433\u0440\u0430<\/td>\n<td>HTTP\/1.1 400 BAD_REQUEST<\/td>\n<\/tr>\n<tr>\n<td>\u041d\u043e\u0440\u0434\u0430\u0432\u0438\u043d\u0434<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>\u042f\u043d\u0434\u0435\u043a\u0441<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<\/table>\n<h3>\u0417\u0430\u043f\u0440\u043e\u0441 15<\/h3>\n<p>  \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043b\u043e\u043c\u0438\u0442\u044c \u0441\u043e\u043f\u0440\u043e\u0442\u0438\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0437\u0430\u043f\u0440\u043e\u0441, \u043d\u043e \u0441 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u043c \u043f\u043e\u0434\u0434\u043e\u043c\u0435\u043d\u043e\u043c.  <\/p>\n<pre>GET habr:\/\/void.domain.name\/path\/to\/resource.html HTTP\/1.1 Host: domain.name<\/pre>\n<p>  \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043f\u043e\u0445\u043e\u0436\u0438 \u043d\u0430 \u0434\u0435\u0441\u044f\u0442\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441, \u043d\u043e \u0435\u0441\u0442\u044c \u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f:<\/p>\n<table>\n<tr>\n<th>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f<\/th>\n<th>\u0417\u0430\u043f\u0440\u043e\u0441 10<\/th>\n<th>\u0417\u0430\u043f\u0440\u043e\u0441 15<\/th>\n<\/tr>\n<tr>\n<td>Apps4All<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<\/tr>\n<tr>\n<td>Badoo<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<\/tr>\n<tr>\n<td>Box Overview<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>DevConf<\/td>\n<td>HTTP\/1.1 404 Not Found<\/td>\n<td>HTTP\/1.1 404 Not Found<\/td>\n<\/tr>\n<tr>\n<td>e-Legion Ltd.<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<\/tr>\n<tr>\n<td>IBM<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>Intel<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>HTTP\/1.0 400 Bad Request<\/td>\n<\/tr>\n<tr>\n<td>JetBrains<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<\/tr>\n<tr>\n<td>KolibriOS Project Team<\/td>\n<td>HTTP\/1.1 404 Not Found<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<\/tr>\n<tr>\n<td>Mail.Ru Group<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>Microsoft<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>HTTP\/1.1 400 Bad Request<\/td>\n<\/tr>\n<tr>\n<td>Opera Software ASA<\/td>\n<td>HTTP\/1.1 404 Not Found<\/td>\n<td>HTTP\/1.1 400 BAD_REQUEST<\/td>\n<\/tr>\n<tr>\n<td>Rusonyx<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<\/tr>\n<tr>\n<td>UIDG<\/td>\n<td>HTTP\/1.1 404 Not Found<\/td>\n<td>HTTP\/1.1 404 Not Found<\/td>\n<\/tr>\n<tr>\n<td>Zfort Group<\/td>\n<td>HTTP\/1.1 404 Not Found<\/td>\n<td>HTTP\/1.1 404 Not Found<\/td>\n<\/tr>\n<tr>\n<td>\u0412\u044b\u043c\u043f\u0435\u043b\u041a\u043e\u043c (\u0411\u0438\u043b\u0430\u0439\u043d)<\/td>\n<td>HTTP\/1.1 302 Redirect<\/td>\n<td>HTTP\/1.1 400 Bad Request<\/td>\n<\/tr>\n<tr>\n<td>\u041c\u043e\u0441\u0438\u0433\u0440\u0430<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<td>HTTP\/1.1 400 BAD_REQUEST<\/td>\n<\/tr>\n<tr>\n<td>\u041d\u043e\u0440\u0434\u0430\u0432\u0438\u043d\u0434<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<\/tr>\n<tr>\n<td>\u042f\u043d\u0434\u0435\u043a\u0441<\/td>\n<td>HTTP\/1.1 404 Not Found<\/td>\n<td>HTTP\/1.1 404 Not Found<\/td>\n<\/tr>\n<\/table>\n<h3>\u0417\u0430\u043f\u0440\u043e\u0441 16<\/h3>\n<p>  \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439 \u0434\u043e\u043c\u0435\u043d.  <\/p>\n<pre>GET habr:\/\/local.fake\/path\/to\/resource.html HTTP\/1.1 Host: domain.name<\/pre>\n<p>  \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0441\u043e\u0432\u043f\u0430\u043b\u0438 \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c.<\/p>\n<h3>\u0417\u0430\u043f\u0440\u043e\u0441 17<\/h3>\n<p>  \u0418 \u0432 \u0442\u0440\u0435\u0442\u0438\u0439 \u0440\u0430\u0437 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u043e\u043c\u0435\u043d \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442.  <\/p>\n<pre>GET habr:\/\/l-IjFN=fiG(w+J2p:#.{92!m`d^?\/path\/to\/resource.html HTTP\/1.1 Host: domain.name<\/pre>\n<p>  \u0423\u0436\u0435 \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u0442\u0432\u0435\u0442\u0430 \u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u041f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c 12 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0435\u0441\u0442\u044c \u0443 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0441\u0430\u0439\u0442\u043e\u0432:<\/p>\n<table>\n<tr>\n<th>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f<\/th>\n<th>\u0417\u0430\u043f\u0440\u043e\u0441 12<\/th>\n<th>\u0417\u0430\u043f\u0440\u043e\u0441 17<\/th>\n<\/tr>\n<tr>\n<td><\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>HTTP\/1.0 400 Bad Request<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>HTTP\/1.1 400 Bad Request<\/td>\n<td>HTTP\/1.1 301 Moved Permanently<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>HTTP\/1.1 200 OK<\/td>\n<td>HTTP\/1.1 400 BAD_REQUEST<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>HTTP\/1.1 404 Not Found<\/td>\n<td>HTTP\/1.1 400 BAD_REQUEST<\/td>\n<\/tr>\n<\/table>\n<h3>\u0417\u0430\u043f\u0440\u043e\u0441 18<\/h3>\n<p>  \u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0438 \u043e\u0442 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u00abHost:\u00bb.  <\/p>\n<pre>GET habr:\/\/l-IjFN=fiG(w+J2p:#.{92!m`d^?\/path\/to\/resource.html HTTP\/1.1 Host: local.fake<\/pre>\n<p>  \u0412\u0441\u0435\u0433\u043e \u043e\u0434\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u2014 \u0441\u0435\u0440\u0432\u0435\u0440 KolibriOS Project Team \u0441\u0442\u0430\u043b \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u00abHTTP\/1.1 404 Not Found\u00bb \u0432\u043c\u0435\u0441\u0442\u043e \u00abHTTP\/1.1 301 Moved Permanently\u00bb. <\/p>\n<h3>\u0417\u0430\u043f\u0440\u043e\u0441 N<\/h3>\n<p>  \u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435, \u0435\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u043d\u0438\u0431\u0443\u0434\u044c \u0435\u0449\u0451 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u0410 \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0438 \u0441\u0430\u043c\u0438.<\/p>\n<h2>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p>  \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u043e\u0434\u0432\u0435\u0441\u0442\u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0442\u043e\u0433\u0438. \u041f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043e\u0442\u0432\u0435\u0447\u0430\u043b\u0438 \u043d\u0430 HTTP\/1.1 \u0437\u0430\u043f\u0440\u043e\u0441\u044b. \u0418\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0438 DevConf, e-Legion Ltd. \u0438 Intel. \u041f\u0435\u0440\u0432\u044b\u0435 \u0434\u0432\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 nginx, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u0435\u0433\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435. Intel \u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 AkamaiGHost, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043b\u0438\u0431\u043e \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d, \u043b\u0438\u0431\u043e \u043f\u043b\u043e\u0445\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 HTTP\/1.1. \u0414\u043e\u043f\u0443\u0441\u043a\u0430\u044e, \u0447\u0442\u043e \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043f\u0440\u0438\u0447\u0438\u043d \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0442\u0435\u0441\u0442\u043e\u0432 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u043c\u0435\u043d\u043d\u043e nginx (\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 14 \u0438\u0437 19 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432). \u0418\u0437-\u0437\u0430 \u0440\u0430\u0437\u043d\u0438\u0446\u044b \u0432 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0430\u0441\u044c \u0446\u0435\u043f\u043e\u0447\u043a\u0430 \u0438\u0437 nginx\/1.0.10 \u0438 nginx\/1.4.1 \u0443 UIDG.<\/p>\n<p>  \u0421\u0447\u0438\u0442\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0432\u0441\u0451 \u043f\u0440\u043e\u0441\u0442\u043e? \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c Apache \u0441 \u0443\u0447\u0451\u0442\u043e\u043c SEO \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0441 \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u044b\u043c \u00abHost:\u00bb \u0438 \u043e\u0441\u043d\u043e\u0432\u044b\u0432\u0430\u043b\u0441\u044f \u043b\u0438\u0448\u044c \u043d\u0430 \u043f\u043e\u043b\u043d\u043e\u043c \u0430\u0434\u0440\u0435\u0441\u0435 \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430.<\/p>\n<p>  \u041a\u0430\u043a\u043e\u0439 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u043c\u044b\u0441\u043b \u043e\u0442 \u00ab\u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0445\u00bb \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432? \u0421\u043e\u043c\u043d\u0435\u0432\u0430\u044e\u0441\u044c, \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u043d\u0430\u0439\u0442\u0438 \u043a\u0430\u043a\u0443\u044e-\u043d\u0438\u0431\u0443\u0434\u044c \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c. \u041d\u043e \u043d\u0435\u0443\u0436\u0435\u043b\u0438 \u043f\u043e\u0447\u0442\u0438 \u0437\u0430 \u043f\u044f\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u044c \u043b\u0435\u0442 \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u043d\u0430\u0443\u0447\u0438\u043b\u0441\u044f \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0435 HTTP\/1.1 \u0441\u0435\u0440\u0432\u0435\u0440\u0430?<\/p>\n<p>  P.S. \u041f\u043e\u043c\u043d\u0438\u0442\u0435 \u043f\u0440\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f \u043c\u0435\u0436\u0434\u0443 <b>%{REQUEST_URI}<\/b> \u0432 Apache mod_rewrite \u0438 <b>$_SERVER[&quot;REQUEST_URI&quot;]<\/b> \u0432 PHP.    \t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/183668\/\"> http:\/\/habrahabr.ru\/post\/183668\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">   \t\u0412\u044b \u0437\u043d\u0430\u0435\u0442\u0435, \u0447\u0435\u043c \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f <b>%{REQUEST_URI}<\/b> \u0432 Apache mod_rewrite \u043e\u0442 <b>$_SERVER[&quot;REQUEST_URI&quot;]<\/b> \u0432 PHP?<\/p>\n<p>  \u0421\u043c\u043e\u0436\u0435\u0442\u0435 \u0432 .htaccess \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 Apache \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044e 301 \u0441 \u0434\u043e\u043c\u0435\u043d\u0430 \u0441 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043e\u043c www \u0438\u043b\u0438 \u043d\u0430 \u043d\u0435\u0433\u043e?<\/p>\n<p>  \u0414\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0432\u043e\u043f\u0440\u043e\u0441\u0430 \u044f \u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435 \u0441\u043c\u043e\u0433\u0443 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u0442\u044c \u0440\u0435\u0448\u0435\u043d\u0438\u0435. \u041f\u0440\u0438\u0447\u0438\u043d\u0430 \u0432 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0435 HTTP\/1.1, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435, \u043a\u043e\u0433\u0434\u0430 \u00ab\u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0430\u043b \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434\u00bb (\u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b \u044f\u0434\u0440\u043e \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u0430). <\/p>\n<p>  \u0412\u0441\u0451 \u0434\u0435\u043b\u043e \u0432 HTTP-\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u00abHost:\u00bb. \u041f\u0440\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u0442\u0430\u043c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u0441\u0451, \u0447\u0442\u043e \u0443\u0433\u043e\u0434\u043d\u043e, \u043f\u0440\u0438\u0447\u0451\u043c \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u044d\u0442\u043e \u043f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e HTTP\/1.1. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0436\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u043b\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f SEO-\u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439. \u0417\u0430\u0431\u0435\u0433\u0430\u044f \u0432\u043f\u0435\u0440\u0451\u0434, \u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, nginx) \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0440\u0435\u0448\u0438\u0442\u044c \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443.<\/p>\n<p>  \u0414\u043b\u044f \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0440\u0435\u0448\u0438\u043b \u043f\u0435\u0440\u0435\u0431\u0440\u0430\u0442\u044c \u0441\u0430\u0439\u0442\u044b <a href=\"http:\/\/habrahabr.ru\/companies\/\">\u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439 \u0425\u0430\u0431\u0440\u0430<\/a>. \u0414\u043b\u044f \u0434\u044e\u0436\u0438\u043d\u044b \u0441\u0430\u0439\u0442\u043e\u0432 \u0441\u0434\u0435\u043b\u0430\u043b \u044d\u0442\u043e \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u0430 \u043f\u043e\u0442\u043e\u043c \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b, \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0430\u0439\u0442\u044b \u043d\u0430 \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442 \u00ab\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u00bb. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0431\u044b\u043b\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u044b\u0445 \u0441\u0430\u0439\u0442\u043e\u0432.<\/p>\n<p>  \u0427\u0442\u043e \u0436\u0435 \u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442 REQUEST_URI \u0432 HTTP\/1.1?<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-183668","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/183668","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=183668"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/183668\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=183668"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=183668"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=183668"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}