Http рд╣реЗрдбрд░ рдЖрдкрдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдмрддрд╛рддреЗ рд╣реИрдВ


рдпрджрд┐ рдЖрдк рд╣реЗрдбрд░ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЗрдХрдЯреНрдард╛ рдФрд░ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╕рдВрднрд╡рддрдГ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреАред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рд╣рдо WAPstart рдореЗрдВ рдЙрди рд╕реВрдЪрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ http рд╣реЗрдбрд░ рдореЗрдВ рдкрд╛рд╕ рдХреА рдЧрдИ рд╣реИрдВред
рдбрд┐рд╕реНрдХреНрд▓реЗрдорд░ - рд▓реЗрдЦ рдЕрд╡рд▓реЛрдХрди рдкреНрд░рдХреГрддрд┐ рдХрд╛ рд╣реИред рдХреБрдЫ рдЪреАрдЬреЗрдВ рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реЛ рд╕рдХрддреА рд╣реИрдВред

рдореИрдВ рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рддреЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ:
рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рд╡реЗрдм рдХреЗ рднреАрддрд░, рдЗрдВрдЯрд░реИрдХреНрд╢рди http рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрддрд╛ рд╣реИ ред

GET рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдиреНрдпреВрдирддрдо рд╡реИрдз http рдЕрдиреБрд░реЛрдз рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
GET / HTTP/1.0\r\n \r\n 

рдпрд╛ рддреЛ:
 GET / HTTP/1.1\r\n Host: wapstart.ru\r\n \r\n 

рдПрдХ рд╢реАрд░реНрд╖рдХ рдПрдХ рдЬреЛрдбрд╝реА рд╣реИ: рдПрдХ рдмреГрд╣рджрд╛рдиреНрддреНрд░ рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдП рдЧрдП рдХреНрд╖реЗрддреНрд░ рдФрд░ рдЙрд╕рдХреЗ рдореВрд▓реНрдп рдХрд╛ рдирд╛рдоред Rfc рдореЗрдВ рд╡рд┐рд╡рд░рдг рджреЗрдЦреЗрдВред
рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реЗрдбрд░ рдХреЛ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ rfc рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред :)
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдПрдЬреЗрдВрдЯ рд╣реЗрдбрд░ рдХреЛ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрдмрдХрд┐ рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдПрдХреНрд╕-рдлреЙрд░рд╡рд░реНрдбрд░-рдлреЙрд░ рд╣реЗрдбрд░ рднреА рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред рд╕рдЦреНрддреА рд╕реЗ рдмреЛрд▓рдирд╛, рдЖрд░рдПрдлрд╕реА рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╣реЗрдбрд░ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХрддрд╛ рд╣реИ , рдпрд╣ рд╕рд┐рд░реНрдл рдпрд╣ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдРрд╕рд╛ рдЕрдиреБрд░реЛрдз рдЕрднреА рднреА рдорд╛рдиреНрдп рд╣реИ:
 GET / HTTP/1.1\r\n Host: wapstart.ru\r\n User-agent: dovg\r\n x-ololo: trololo\r\n x-habrauser: dovg\r\n \r\n 

рд╣реЗрдбрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдЙрд╕ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдХрд┐ cgi рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд░ rfc рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред (рдЦрдВрдб 4.1)
рдореЛрдЯреЗ рддреМрд░ рдкрд░, рдПрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдВрдХреЗрдд (HTTP) рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛, рдЙрдиреНрд╣реЗрдВ рдЕрдкрд░рдХреЗрд╕ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рд╡рд┐рдкрдХреНрд╖ (рд╣рд╛рдЗрдлрд╝рди) рдХреЛ рдЕрдВрдбрд░рд╕реНрдХреЛрд░ рджреНрд╡рд╛рд░рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛: x-habrauser HTTP_X -ABABRAUSER рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдПред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдорд╛рди рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛ред
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ, рдУрдкреЗрд░рд╛-рдорд┐рдиреА, рд╕рд╛рде рд╣реА рд╕рд╛рде рдиреЛрдХрд┐рдпрд╛ рдлреЛрди рдХреЗ рдорд╛рдирдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░, рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реЗрдбрд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред

рдЖрдЗрдП рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВред
рд╣рдо рдореЛрдмрд╛рдЗрд▓ рд╡реЗрдм рдкрд░ рд╡рд┐рдЬреНрдЮрд╛рдкрди рджреЗрдиреЗ рдореЗрдВ рд▓рдЧреЗ рд╣реБрдП рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рдПрдХ рдкреНрд░рд╛рдердорд┐рдХ рдХрд╛рд░реНрдп рдЧреИрд░-рдореЛрдмрд╛рдЗрд▓ рд▓реЛрдЧреЛрдВ рд╕реЗ рд╕рд╢рд░реНрдд "рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ" рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рд╣реИред
рдмреЗрд╢рдХ, рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ 100% рджрдХреНрд╖рддрд╛ рдХреЗ рд╕рд╛рде рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬрд╛рдирдХрд╛рд░реА рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рдУрд░ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ, рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ, рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА "рдЧрддрд┐рд╢реАрд▓рддрд╛" рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:

рдпреЗ рдбреЗрдЯрд╛ рд╣рдореЗрдВ рдЕрдзрд┐рдХ рд▓рдХреНрд╖рд┐рдд, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рд╡рд┐рдЬреНрдЮрд╛рдкрдиреЛрдВ рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рджрд┐рдЦрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред

рдЖрдЗрдП рдкрд╣рд▓реЗ рд▓рдХреНрд╖реНрдп рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА "рдЧрддрд┐рд╢реАрд▓рддрд╛" рдХреЛ рдХреИрд╕реЗ рд╕рдордЭрд╛ рдЬрд╛рдПред рдПрдХ рдмрд╛рд░ рд╣рдордиреЗ рдРрд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреА рдереА ред
рдореИрдВ php рдореЗрдВ рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреЗрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЗрддрдиреЗ рддреБрдЪреНрдЫ рд╣реИрдВ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдирдЧреАрди рд╡рд┐рдиреНрдпрд╛рд╕ рддрдХ рднреА рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡реИрд╕реЗ, рд╣рдореЗрдВ рдирдЧрдиреЗрдХреНрд╕ рд╕реНрддрд░ рдкрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдерд╛, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рд╣рд╛рде рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪреЗред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдХреЛрдб рдирд╣реАрдВ рджреВрдВрдЧрд╛, рдпрд╣ рдЬреАрдердм рдкрд░ рд╣реИред рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЯрд┐рдкреНрдкрдгреА - рдЖрдк рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдПрдЬреЗрдВрдЯ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ!

рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЬреАрдбреАрдЖрдИ рдбреЗрдЯрд╛рдмреЗрд╕ (рдбрд┐рд╡рд╛рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ) рдХреЗ рд╕рд╛рде рдЖрдП, рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ http рд╣реЗрдбрд░ рдХреЗ рд╕реЗрдЯ рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕, рдУрдПрд╕ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдорд╛рд░реЗ рд▓рд┐рдП, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ -
 get header:HTTP_ACCEPT_ENCODING=gzip%2C+deflate&HTTP_USER_AGENT=Opera%2F9.80+%28J2ME%2FMIDP%3B+Opera+Mini%2F6.24093%2F27.1324%3B+U%3B+ru%29+Presto%2F2.8.119+Version%2F11.10&HTTP_X_OPERAMINI_FEATURES=advanced%2C+file_system%2C+camera%2C+touch%2C+folding%2C+routing&HTTP_USER_AGENT=LG+%23+KP500&HTTP_USER_AGENT=LG-KP500+Teleca%2FWAP2.0+MIDP-2.0%2FCLDC-1.1 VALUE header:HTTP_ACCEPT_ENCODING=gzip%2C+deflate&HTTP_USER_AGENT=Opera%2F9.80+%28J2ME%2FMIDP%3B+Opera+Mini%2F6.24093%2F27.1324%3B+U%3B+ru%29+Presto%2F2.8.119+Version%2F11.10&HTTP_X_OPERAMINI_FEATURES=advanced%2C+file_system%2C+camera%2C+touch%2C+folding%2C+routing&HTTP_USER_AGENT=LG+%23+KP500&HTTP_USER_AGENT=LG-KP500+Teleca%2FWAP2.0+MIDP-2.0%2FCLDC-1.1 0 234 O:12:"CuttedDevice":6:{s:5:"*id";i:3027;s:7:"*name";s:5:"KP500";s:10:"*deleted";b:0;s:9:"*parent";O:18:"CuttedDeviceParent":2:{s:5:"*id";i:23;s:7:"*name";s:2:"LG";}s:14:"*screenWidth";i:240;s:15:"*screenHeight";i:400;} //,    memcache ;) //        memcache,     . 

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ devconf рдкрд░ рдмрд╛рддрдЪреАрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдПред

рдЬреНрдЮрд╛рдд рд╕рдорд╕реНрдпрд╛рдПрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдЕрднреА рднреА рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреБрдЫ рд╢реАрд░реНрд╖рдХ рдЖрдБрдХрдбрд╝реЗ:
 gdi=> select count(distinct name) from request; count ------- 134 (1 row) 

 gdi=> select count(*) from request; count -------- 651655 (1 row) 

 gdi=> select name, count(value) as different_values from request group by name order by different_values desc limit 10; name | different_values ---------------------------+------------------ HTTP_USER_AGENT | 648494 HTTP_X_WAP_PROFILE | 701 HTTP_X_OPERAMINI_PHONE_UA | 698 HTTP_VIA | 572 HTTP_X_PROXY_ID | 245 HTTP_X_OPERAMINI_FEATURES | 184 HTTP_X_OPERAMINI_PHONE | 109 HTTP_X_MSISDN | 96 HTTP_X_BLUECOAT_VIA | 84 HTTP_X_DEVICE_USER_AGENT | 77 (10 rows) 

Source: https://habr.com/ru/post/In139722/


All Articles