카운터 주소의 여섯 세대, 모두 아직 답하고 있습니다
이 글의 내용
우리가 카운터에 대해 문서화한 주소는 /c/<number>-<design>.png입니다. 8월 30일에 156번 요청되었습니다.
2006년의 주소 — /index.php?action=pic&s4uid=… — 는 서로 다른 카운터 761개에서 80,499번 요청되었습니다.
여섯 세대, 모두 아직 돌아갑니다
그 80,499건을 어떤 매개변수를 지녔는지로 갈라 보면 뚜렷이 다른 여섯 모양이 나오고, 하나하나가 누군가의 살아 있는 페이지입니다.
가장 큰 55,503건은 거의 아무것도 보내지 않습니다. 동작과 카운터 번호뿐입니다. 그다음 10,026건이 전체 스타일 설명을 지닙니다 — 색, 글꼴, 배경 모드, 요소 자리 열하나, 주소 하나에 매개변수 최대 57개입니다. 5,898건이 참조와 현재 페이지를 더하고, 그것이 진입 페이지와 경로를 애초에 가능하게 만든 세대입니다. 4,544건이 마우스 좌표를 보내고, 2015년 기능의 잔재입니다. 2,533건이 뜻을 찾아봐야 했던 js 표시를 지니고, 1,995건이 패턴을 지닙니다.
어느 것도 망가지지 않았습니다. 서버는 여섯 다 답합니다. 매개변수는 결코 없어지지 않았고 — 만들어 내기를 그쳤을 뿐입니다.
왜 새 주소는 조용한가
누군가 2011년에 페이지에 붙여 넣은 <img> 태그를 다시 써 주는 것이 없기 때문입니다.
그것이 설명 전부이고, 분명히 말해 둘 값어치가 있습니다. 156을 새 주소의 실패로 읽기 쉽기 때문입니다. 그렇지 않습니다. 새 주소는 더 짧고, 캐시할 수 있고, 읽을 수 있으며, 그것이 생긴 뒤에 만들어진 모든 카운터가 그것을 씁니다. 다만 이미 설치된 것에 견주면 그런 카운터가 많지 않고, 이미 설치된 것은 스스로 갱신하지 않습니다.
이것이 코드에 뜻하는 바는 결함이 아니라 상시 의무입니다. 여섯 모양이 계속 작동해야 하고, 매개변수 57개짜리와 마우스가 어디 있었는지 보내는 것까지 포함합니다. 각각이 옳게 남아야 하는 경로이고, 그 가운데 다섯은 지금 마법사가 만들어 내는 것을 보아서는 훑을 수 없습니다 — 지금 마법사는 그것들을 만들지 않습니다. 그것들을 이름 붙이는 것은 로그이고, 그래서 그 경로의 무엇을 건드리기 전에 로그를 읽습니다.
무엇을 바꾸었고 무엇은 아닌가
아무것도 바꾸지 않았습니다. 나눔을 아는 것이 행동을 만들어 내지는 않습니다. 사이트 주인 761명에게 HTML을 고치라고 할 수 없고, 옛 주소를 깨뜨려 밀어붙이는 것은 라우팅 표를 정리하자고 작동하는 카운터를 내리는 일입니다.
바뀌는 것은 주의가 어디로 가느냐입니다. 계수 경로를 건드리는 리팩터링은 주소 하나의 리팩터링이 아니라 여섯의 리팩터링이고, 문서에서 가장 덜 중요한 것이 로그에서는 가장 중요합니다.
무엇이 일반화되는가
문서화된 인터페이스와 실제로 쓰이는 인터페이스는 서로 다른 것이고, 그 가운데 하나만 로그에 있습니다. 코드는 무엇을 하도록 설계되었는지를 기록합니다. 접근 로그는 사람들이 실제로 무엇을 설치했는지, 때로는 열다섯 해 전에 무엇을 설치했는지 기록하며, 여섯 코드 경로 가운데 어느 것이 통행량을 나르는지 이름 붙일 수 있는 유일한 출처입니다.
알아보는 데 명령 하나가 듭니다. 그 명령을 돌리기 전까지는 문서의 가장 새 주소가 주된 주소처럼 보입니다.