독자들이 프로그래밍 언어를 익히고 프레임워크를 배워서 하고자 하는 것은 애플리케이션 개발 그중에서도 특히 웹 애플리케이션을 개발하는 것일 겁니다.

 

특히 최근의 개발은 프레임워크를 사용하여 어느 정도 틀이 잡혀 있는 상태에서 빨리 개발을 하는 것이 필수인 시대이며 프레임워크가 워낙 잘 만들어져서 HTTP 통신에 대해 자세히 몰라도 웹 애플리케이션을 만들 수 있습니다.

 

하지만 우리가 만든 애플리케이션이 의도대로 돌지 않는 경우(버그가 없는 애플리케이션은 없으므로 이런 상황은 자주 겪게 됩니다) 기반 지식이 없다면 무엇이 원인인지 전혀 알 수가 없게 됩니다.

 

그래서 프레임워크를 사용했을 경우 복잡한 내부가 가려져서 디버깅이 어려워지므로 디버깅에 드는 시간과 프레임워크 사용으로 줄어든 개발 시간이 비슷하므로 프레임워크 사용 이점이 없고 문제 해결이 더 늦어지게 된다고 주장하기도 합니다.

 

합리적인 주장이지만 위의 이유로 프레임워크 사용을 배제할 수는 없을 것이며 필자가 생각하는 더욱 좋은 방법은 기반 지식을 익히는 것입니다. 특히 웹 애플리케이션은 HTTP 기반에서 동작하므로 의도대로 돌지 않을 경우 HTTP 프로토콜 단까지 디버깅이 가능해야 합니다.

 

최근의 하드웨어나 운영체제, 웹 서버등은 매우 안정화되어 작동한다고 믿어도 될만한 수준의 품질을 갖추고 있으므로 저수준(low level)을 알면 좋지만 구조까지 이해할 필요는 없습니다.

 

하지만 우리가 만드는 애플리케이션이 관여하는 기술에 대해서는 알아 둬야 문제에 대처할 수 있으며 그중에 HTTP 는 웹 서버와 브라우저간에 일어나는 통신의 근간이자 이해가 없을 경우 디버깅 및 문제 해결에 많은 시간을 쏟아 붓게 합니다.

 

이 장에서는 HTTP 프로토콜에 대한 기본적인 설명 및 이를 디버깅할 수 있는 툴인 피들러에 대해서 간략하게 다루겠습니다.