1 Протоколы это не мусор. Это должен знать каждый кто считает себя специалистом в интернет технологиях.
2 Если ты хочешь научиться программировать, то надо учиться программировать, а не учиться РНР. Хотя в принципе на чем учиться - не важно, на бейсике на С или на РНР. Дело в том, что РНР - интернет ориентированный язык, а точнее, ориентированный на работу с базами данных и генерацию html страниц. Он даже расшифровывается - Personal Home Page.
3 Так или иначе HTML тебе освоить прийдется... если ты хочешь создавать хорошие страницы. А так же DHTML, JavaScript если хочешь создавать очень хорошие страницы. Ну и SQL, Если хочешь создавать очень хорошие динамические страницы.
4 Так же не помешает знание принципов работы и настройки серверов http, ftp, sqld, общего администрирования системы, основных команд shell *nix систем а так же философии их построения и работы.
На самом деле знать нужно достаточно много, чтобы быть профессионалом, и знания эти приходят постепенно, главное программировать, главное чтобы нравилось программировать.
Если же задачи стать профессионалом не стоит, опыта программирования на других языках нет, то стоит купить две книжки - собственно РНР и учебник для программиста, чтобы ты хотя бы представлят когда использовать лучше do ... while(); или просто while();, а когда можно и for ( ;; );, и чем select лучше чем if...else if...
Удачи в нелегком деле :wave: