HTTP 오류는 parse·dispatch·application·write 경계에서 다르게 번역한다
모든 IOException을 500으로 보내려 하면 이미 깨진 연결에 또 응답을 쓰게 됩니다.
| 경계 | 예 | 처리 |
|---|---|---|
| parse | bad request | 400 |
| route | not found | 404 |
| method | unsupported | 405 |
| application | unexpected | 500 |
| write | client gone | close·metric |
핵심: 응답 시작 전과 후를 구분해 status 또는 connection close로 처리합니다.