рд╡реЗрдм рд╕реЙрдХреЗрдЯ: рдореБрдХрд╛рдмрд▓рд╛ рдЙрдкрдпреЛрдЧ

рдЫрд╡рд┐ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдЯреАрд╕реАрдкреА рдХрдиреЗрдХреНрд╢рди рдкрд░ рдПрдХ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг-рджреНрд╡реИрдз (рджреЛ-рддрд░рдлрд╛) рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдЧрддрд┐рд╢реАрд▓ рдорд╛рдирдХ рд╣реИ, рдЬреЛ HTTP рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рд▓рд╛рдЗрд╡ рдореИрд╕реЗрдЬрд┐рдВрдЧ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдпреЛрдЬрдирд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ "рдЕрдиреБрд░реЛрдз URL - рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ред" рдЬрдм рджреЛ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рдЗрд╕ рдорд╛рдирдХ рдХреЛ рдХрд░реАрдм рд╕реЗ рджреЗрдЦрд╛ рдерд╛, рддрдм рднреА рдпрд╣ рдЕрдкрдиреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рдерд╛ред рдХреБрдЫ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдФрд░ рд╡реЗрдм рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдЕрдкреНрд░рдпреБрдХреНрдд рдорд╕реМрджрд╛ рд╕реНрдХреЗрдЪ рдФрд░ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╕рдорд░реНрдерди рдерд╛, рдФрд░ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдЗрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдм рд╕реНрдерд┐рддрд┐ рдмрджрд▓ рдЧрдИ рд╣реИред рдорд╛рдирдХ рдиреЗ рдХрдИ рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХрд╛ рдЕрдзрд┐рдЧреНрд░рд╣рдг рдХрд┐рдпрд╛ (рдЬрд┐рдирдореЗрдВ рдкрд┐рдЫрдбрд╝реА рд╕рдВрдЧрддрддрд╛ рдХреЗ рдмрд┐рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ), рдЖрд░рдПрдлрд╕реА рд╕реНрдерд┐рддрд┐ ( 6455 ) рдкреНрд░рд╛рдкреНрдд рдХреА рдФрд░ рдмрдЪрдкрди рдХреА рдмреАрдорд╛рд░рд┐рдпреЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдпрд╛ред IE10 рд╕рд╣рд┐рдд рд╕рднреА рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ, рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдРрд╕реЗ рд╡реЗрдм рд╕рд░реНрд╡рд░ рд╣реИрдВ рдЬреЛ рдФрджреНрдпреЛрдЧрд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рддреИрдпрд╛рд░ рд╣реИрдВред

рдореИрдВрдиреЗ рддрдп рдХрд┐рдпрд╛ рдХрд┐ рдЗрд╕реЗ рд▓рд╛рдЗрд╡ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдЖрдЬрдорд╛рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред рдФрд░ рдЕрдм рдореИрдВ рдЗрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдпрд╛ рдерд╛ред

рдХрд╛рд░реНрдп рдХрд╛ рд╕рд╛рд░


рдореЗрд░реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЫреЛрдЯреА рд╕рд╛рдЗрдЯ Klavogonki.ru рдкрд░ рдПрдХ рдХреЗрдВрджреНрд░реАрдп рднрд╛рдЧ рд╣реИ - рд╡рд░реНрддрдорд╛рди рдЦреЗрд▓-рджреМрдбрд╝ рдХреА рдПрдХ рд╕реВрдЪреА рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдХреНрд░рд┐рдп рд╣реИред рд╕реВрдЪреА рдЕрддреНрдпрдВрдд рдЧрддрд┐рд╢реАрд▓ рд╣реИ: рдЦрд┐рд▓рд╛рдбрд╝реА рд╣рд░ рдХреБрдЫ рд╕реЗрдХрдВрдб рдореЗрдВ рдХрднреА-рдХрднреА рдХрдИ рдмрд╛рд░ рдПрдХ рдирдИ рджреМрдбрд╝ рдмрдирд╛рддреЗ рд╣реИрдВред рдЖрдЧрдорди рдПрдХ рдЙрд▓рдЯреА рдЧрд┐рдирддреА рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░, рд╡реЗ рдЦреБрд▓реЗ рдЦреЗрд▓ рдЕрдиреБрднрд╛рдЧ рд╕реЗ рд╕рдХреНрд░рд┐рдп рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЪрд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВред рд╕рднреА рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдкреГрд╖реНрда рд╕реЗ рджреМрдбрд╝ рд╣рдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИред рдПрдХ рд╕реЗ, рдФрд░ рдХрднреА-рдХрднреА рдПрдХ рд╕реМ рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рддрдХ, рдпрд╣ рдПрдХ рджреМрдбрд╝ рд▓реЗрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╡рд╣реАрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИред

рдЫрд╡рд┐

рдпрд╣ рдкрд╣рд▓реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛


рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдЬрдм рд╕рд╛рдЗрдЯ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдЗрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рдЧрдпрд╛, рддреЛ рд╕реВрдЪреА рдХреЗ рдЧрддрд┐рд╢реАрд▓ рдЕрджреНрдпрддрди рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕реА рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рдЙрддреНрдкрдиреНрди рд╣реБрдИрдВред рд╕реВрдЪреА рдкреГрд╖реНрда рдореЗрдВ рдПрдХ рдмрд╛рд░ рдореЗрдВ рджрд░реНрдЬрдиреЛрдВ рд▓реЛрдЧ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рддрд╛рдЬрд╝рд╛ рддрд╕реНрд╡реАрд░ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рдХрдИ рджреМрдбрд╝ рдореЗрдВ рдХреЗрд╡рд▓ 10-20 рд╕реЗрдХрдВрдб рдореЗрдВ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг рд╕реЗ рдЙрд▓рдЯреА рдЧрд┐рдирддреА рдХрд╛ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдкрдбреЗрдЯ рдХрд╛рдлреА рдЬреАрд╡рдВрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЯрд╛рдЗрдордЖрдЙрдЯ рджреНрд╡рд╛рд░рд╛ рдкреВрд░реЗ рдкреГрд╖реНрда рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдпрд╣рд╛рдБ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдлрд┐рдЯ рдирд╣реАрдВ рдерд╛, рдФрд░ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ (рдпрд╣рд╛рдВ рд╣рдореЗрдВ рдПрдХ рдиреЛрдЯ рдХрд░рдирд╛ рдерд╛ рдХрд┐ рдореИрдВ рдЙрд╕ рд╕рд╛рдЗрдЯ рдкрд░ рдлреНрд▓реИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдордЬрдмреВрдд рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдерд╛)ред

рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рдпрд╣рд╛рдБ рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдорддрджрд╛рди рдореЗрдВ рд▓рдЧ рд░рд╣рд╛ рдерд╛ - рд╕рд░реНрд╡рд░ рд╕реЗ рдПрдХ рд▓рдЯрдХрд╛ рд╣реБрдЖ рдХрдиреЗрдХреНрд╢рди, рдЬреЛ рдПрдХ рдирдИ рдШрдЯрдирд╛ рдЖрдиреЗ рдкрд░ рдлрд┐рд░ рд╕реЗ рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╕реЗ рдЦреБрд▓ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреБрдЫ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдмрд╛рдж, рдпрд╣ рд╡рд┐рдХрд▓реНрдк рднреА рдЕрд╕рдВрдЧрдд рд╣реЛ рдЧрдпрд╛: рдШрдЯрдирд╛рдПрдВ рдПрдХ рд╕рддрдд рдкреНрд░рд╡рд╛рд╣ рдореЗрдВ рдЖ рдЧрдИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рди рдХреЗрд╡рд▓ рдПрдХ рдирдпрд╛ рдЧреЗрдо рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рд╕рднреА рдЦреЗрд▓реЛрдВ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯрд╛рдЗрдордЖрдЙрдЯ, рд╕реНрдЯреЗрдЯрд╕ рдмрджрд▓рдирд╛, рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреА рд░рдЪрдирд╛), рдФрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╢реБрд░реВ рд╣реБрдИред рд╕рд░реНрд╡рд░ рд╕реЗ рдЕрд╕рдВрддреЛрд╖ рдХреА рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдбрд┐рдЧреНрд░реА рдХрд╛ рдХрд╛рд░рдгред рдФрд░ рдЦреЛрд▓рдиреЗ-рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдУрд╡рд░рд╣реЗрдб рднреА рдмрдбрд╝рд╛ рдирд╣реАрдВ рдерд╛ред

рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг HTTP рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрд╛ред

рдЗрд╕рд▓рд┐рдП, рдореИрдВ ajax рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣рд░ 3 рд╕реЗрдХрдВрдб рдореЗрдВ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд░рдХреЗ рдПрдХ рдкреГрд╖реНрда рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдПрдХ рд╕рд░рд▓ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдмрд╕ рдЧрдпрд╛ред рд╕рд░реНрд╡рд░ рдкрд░, рд╡рд░реНрддрдорд╛рди рдбреЗрдЯрд╛ рдХреЛ рдХреИрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдХреИрд╢ рдореЗрдВ рдЧреНрд░рд╛рд╣рдХреЛрдВ рд╕реЗ рдЬреМрди рдореЗрдВ рднреЗрдЬрд╛ рдЧрдпрд╛ рдерд╛, рдЬрдмрдХрд┐ рдЯреНрд░реИрдлрд┐рдХ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рд░ рдмрд╛рд░ рдкреВрд░реА рд╕реВрдЪреА рдирд╣реАрдВ рджреА рдЧрдИ рдереА, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдбреЗрдЯрд╛ (рдЕрдиреБрд░реЛрдз рдХрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИ - рд╣рдо рдЖрдЧрдорди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирдИ рдЬрд╛рдирдХрд╛рд░реА рджреЗрддреЗ рд╣реИрдВ, рдЕрдиреНрдпрдерд╛ рд╣рдо рдХреЗрд╡рд▓ рд╡рд░реНрддрдорд╛рди рджреЗрддреЗ рд╣реИрдВред рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛)ред

рдкреНрд░рдгрд╛рд▓реА рдиреЗ рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдФрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХрд╛рдо рдХрд┐рдпрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдмрдбрд╝рд╛ рдорд╛рдЗрдирд╕ рдерд╛ - рд╢реБрд░реБрдЖрдд рд╕реЗ рдкрд╣рд▓реЗ 10-рд╕реЗрдХрдВрдб рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рд╕рд╛рде рджреМрдбрд╝ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рдСрдирд▓рд╛рдЗрди рд░реЗрд╕рд┐рдВрдЧ рдЧреЗрдо рдХреА рднрд╛рд╡рдирд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рдерд╛ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдмрд╣реБрдд рддрдХрдиреАрдХреА рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рдерд╛ред

рдЖрдк рдЗрд╕ рдкреГрд╖реНрда рдХреЛ рдЗрд╕ рд▓рд┐рдВрдХ рджреНрд╡рд╛рд░рд╛ рдЗрд╕рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдм рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ


рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдиреЗ рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЪрд▓рд╛рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛ рджрд┐рдпрд╛ рд╣реИред

рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд░реНрд╡рд░ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдЧреЗрдо рдмреИрдХрдПрдВрдб рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрдИ рдХрд╛рд░рдгреЛрдВ рд╕реЗ, рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдиреЛрдб.рдЬреЗрдПрд╕ рдЪреБрдирд╛ - рдПрдХ рдЗрд╡реЗрдВрдЯ-рд╕рдВрдЪрд╛рд▓рд┐рдд рдореЙрдбрд▓ рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЙрд▓рдмреИрдХ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХрджрдо рд╕рд╣реА рдереЗред

Php рдмреИрдХрдПрдВрдб рдФрд░ рдиреЛрдб рдкрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрдЪрд╛рд░ рд╡рд╛рддрд╛рд╡рд░рдгред js redis pubsub рдЪреИрдирд▓ рд╣реИ ред рдПрдХ рдирдпрд╛ рдЧреЗрдо рдмрдирд╛рддреЗ рд╕рдордп рдпрд╛ рдбреЗрдЯрд╛ рдХреЛ рдмрджрд▓рдиреЗ рд╡рд╛рд▓реА рдХрд┐рд╕реА рднреА рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмрд╛рдж, php рдХреБрдЫ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд (рдпрд╣рд╛рдБ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдХрд╛ рдХреЛрдб рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдВрд╢реЛрдзрд┐рдд рд╣реИ):

$redis = new Redis(); $redis->pconnect('localhost', 6379); $redis->publish("gamelist", json_encode(array( "game created", array( 'gameId' => $id)))); 

рд░реЗрдбрд┐рд╕ рдПрдХ рдЕрд▓рдЧ рдЯреАрд╕реАрдкреА рдкреЛрд░реНрдЯ рдкрд░ рдПрдХ рдЕрд▓рдЧ рдбреЗрдореЙрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рднреА рдЬреБрдбрд╝реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд / рднреЗрдЬрддрд╛ рд╣реИред рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕реНрдХреЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рд╕рд░реНрд╡рд░, рдпрджрд┐ рдЖрдк рдЖрд╢рд╛рд╡рд╛рджреА рд╣реИрдВ) php рдФрд░ рдиреЛрдб редjs. рд▓рдЧрднрдЧ 50 php рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рдФрд░ 2 рдиреЛрдб .js рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрддрд╛рдИ рдХрд░ рд░рд╣реА рд╣реИрдВред

рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдиреЛрдб.рдЬреЗрдПрд╕ рдХреА рдУрд░, рд░реЗрдбрд┐рд╕-рдЪреИрдирд▓ gamelist рдХреЛ рдЧреЗрдореЗрд▓рд┐рд╕реНрдЯ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:

 var redis = require('redis').createClient(6379, 'localhost'), redis.subscribe('gamelist'); 

рдХреНрд▓рд╛рдЗрдВрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ : Voradiy рдФрд░ Joes рдХрд╛рдорд░реЗрдб рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ SockJS рдФрд░ рдмреЗрд╕реЗрдбрд╛ рдЬреИрд╕реЗ рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рдЬреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдЪ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ)ред рдпрд╣ рдЖрдкрдХреЛ рдореБрдЦреНрдп рдкрд░рд┐рд╡рд╣рди рдХреЗ рд░реВрдк рдореЗрдВ рд╡реЗрдм рд╕реЙрдХреЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдлреНрд▓реИрд╢ рдпрд╛ xhr-polling рдЬреИрд╕реЗ рдЕрдиреНрдп рдЯреНрд░рд╛рдВрд╕рдлрд╝рд░ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрдиреЗрдХреНрдЯ рдХрд┐рдП рдЧрдП рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЫрджреНрдо-рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (рдЪреИрдирд▓) рдореЗрдВ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдШрдЯрдирд╛рдУрдВ рдФрд░ рдХреБрдЫ рдЕрдиреНрдп рдЕрдЪреНрдЫрд╛рдЗрдпреЛрдВ рдХрд╛ рдирд╛рдо рджреЗрддрд╛ рд╣реИред

 var io = require('socket.io').listen(80); var gamelistSockets = io.of('/gamelist'); 

рдЬрдм рдХреНрд▓рд╛рдЗрдВрдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ ws://ws.klavogonki.ru/gamelist рд╕реЗ рдЬреБрдбрд╝рд╛ ws://ws.klavogonki.ru/gamelist рдЗрд╕реЗ рдЧреЗрдорд▓рд┐рд╕реНрдЯ рд╕реЙрдХреЗрдЯрд┐рдпреЛ рдЪреИрдирд▓ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ:

 <script src="http://ws.klavogonki.ru/socket.io/socket.io.js" type="text/javascript"></script> ... <script type="text/javascript"> var socket = io.connect('ws.klavogonki.ru/gamelist'); </script> 


рдЬрдм рдХреЛрдИ рдШрдЯрдирд╛ рд░реЗрдбрд┐рд╕ рдЪреИрдирд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреИрдХрдПрдВрдб рд╕реЗ рдЖрддреА рд╣реИ, рддреЛ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреВрд░реНрд╡-рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЧреЗрдорд▓рд┐рд╕реНрдЯ рдореЗрдВ рд╕рднреА рдХрдиреЗрдХреНрдЯреЗрдб рдХреНрд▓рд╛рдЗрдВрдЯреНрд╕ рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 redis.on('message', function(channel, rawMsgData) { if(channel == 'gamelist') { var msgData = JSON.parse(rawMsgData); var msgName = msgData[0]; var msgArgs = msgData[1]; switch(msgName) { case 'game created': { ... gamelistSockets.emit('game created', info); break; } case 'game updated': { ... gamelistSockets.emit('game updated', info); break; } case 'player updated': { ... gamelistSockets.emit('player updated', info); break; } } } }); 

рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдШрдЯрдирд╛ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреГрд╖реНрда рдкрд░ рдЖрд╡рд╢реНрдпрдХ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИред

 socket.on('game created', function(data) { insertGame(data); }); socket.on('game updated', function(data) { updateGame(data); }); socket.on('player updated', function(data) { updatePlayer(data); }); 


рд╕рд┐рджреНрдзрд╛рдВрдд рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд░рд▓ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╣реИред рдЗрд╕ рдпреЛрдЬрдирд╛ рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рдЙрдиреНрдирдд рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпрд╛рдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдмрдирд╛ рд╕рдХрддреА рд╣реИрдВ рдФрд░ рдХрд╛рд░реНрдп рдХреЗ рддрд░реНрдХ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореБрдЭреЗ "рд╣рдо рдПрдХ рдмрджрд▓рд╛рд╡, рдПрдХ рд╕реНрдерд┐рддрд┐ рдирд╣реАрдВ" рдХреА рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП php рдХреЛрдб рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЗ рдХреБрдЫ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде рдЫреЗрдбрд╝рдЫрд╛рдбрд╝ рдХрд░рдиреА рдереА, рдФрд░ рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдХреЗ рдбреЛрдореЗрди рдХреЛ рдореБрдЦреНрдп рдорд╢реАрди рд╕реЗ рдПрдХ рдЕрд▓рдЧ рд╕реЗ рд▓реЗрдирд╛ (рддрд╛рдХрд┐ рдкреЛрд░реНрдЯ 80 рдкрд░ рд╕рд╛рдЭрд╛рдХрд░рдг рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд╕рд╛рде рдкреАрдбрд╝рд┐рдд рди рд╣реЛ), рд▓реЗрдХрд┐рди рд╕реВрдЦрд╛ рдЕрд╡рд╢реЗрд╖ рдкреНрд▓рд╕рд╕ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ:


рдареЛрд╕ рд▓рд╛рдн, рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВред

рдЖрдк рдЕрдВрдд рдореЗрдВ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реБрдЖ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ ред рдЕрдВрддрд░ рдирдЧреНрди рдЖрдВрдЦреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред

рдПрдХ рдмреЛрдирд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рджреЛ рдЧреЛрд▓рд┐рдпрд╛рдВ рд╣реИрдВ, Klavogonok рдХреЗ рджрд░реНрд╢рдХреЛрдВ рдкрд░ рдХреБрдЫ рдЖрдБрдХрдбрд╝реЗ, рд╕реЙрдХреЗрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯред
рдмреНрд░рд╛рдЙрдЬрд╝рд░рд╢реЗрдпрд░рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯрд╢реЗрдпрд░
рдХреНрд░реЛрдо51%WebSocket90%
рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕20%XHR-рдорддрджрд╛рди5%
рдУрдкреЗрд░рд╛15%flashsocket4%
IE (рд▓рдЧрднрдЧ 8 рдФрд░ 9 рдореЗрдВ)6%jsonppolling1%
рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдпрд╣ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рддреИрдпрд╛рд░ рд╣реИред

рдкрд░рд┐рдгрд╛рдо


рдкрд░рд┐рдгрд╛рдо, рдЧреНрд░рдВрде рд╕реВрдЪреА рдФрд░ рдиреИрддрд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдВрддрд┐рдо рд╕рд╛рд░рд╛рдВрд╢ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХрд╛ рд╕рдордп рдмрдЪрд╛рдКрдВрдЧрд╛ рдФрд░ рдмрд╕ рдЗрддрдирд╛ рдХрд╣реВрдВрдЧрд╛: рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рд╣реИрдВ!

PS рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирдП рд╡рд┐рдХрд╕рд┐рдд рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ (рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдПрдХ рд╕рд╣рд┐рдд), рдРрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╢рдмреНрдж рдЬреИрд╕реЗ рдХрд┐ рдореЛрдВрдЧреЛрдбрдм рдФрд░ рдХреЛрдгреАрдп.рдЬреЗ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред рдпрджрд┐ рд░реБрдЪрд┐ рд╣реИ, рддреЛ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╖рдп рд╣реЛрдВрдЧреЗред

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


All Articles