블로그 목록
SW 개발 연대기

1996년 개발 연대기: 브라우저 전쟁과 동적인 웹의 시작

Java 1.0과 JavaScript·JScript, CSS1, Apache와 PHP/FI가 웹의 가능성을 넓히고 브라우저 호환성 문제가 본격적으로 드러난 1996년을 살펴봅니다.

2026년 7월 24일약 28분
#1996#개발사#브라우저 전쟁#Java#JavaScript#CSS#인트라넷

1995년에 웹의 다음 시대를 이끌 기술들이 모습을 드러냈다면, 1996년에는 그 기술들이 실제 제품과 개발 도구 안으로 들어오기 시작했다. Java는 정식 개발 키트를 내놓았고, JavaScript는 Netscape Navigator를 넘어 Microsoft Internet Explorer에도 다른 구현으로 탑재됐다. CSS는 첫 W3C 권고안이 됐으며 Apache는 가장 널리 쓰이는 웹 서버로 올라섰다.

그러나 기술이 많아진 만큼 개발이 곧바로 편리해진 것은 아니었다. 브라우저 회사들은 웹의 주도권을 잡기 위해 표준이 완성되기 전에 새로운 기능을 경쟁적으로 추가했다. 같은 HTML과 스크립트가 브라우저에 따라 다르게 보이거나 실행되지 않는 문제가 빠르게 커졌다.

1996년은 웹이 단순한 문서 열람 공간을 넘어 프로그램의 실행 환경으로 확장된 해이자, 브라우저 호환성이 개발자의 본격적인 과제가 된 해였다.

먼저 보는 1996년

영역1996년의 흐름
웹 브라우저Netscape Navigator와 Internet Explorer의 경쟁이 본격화
검색엔진대규모 자동 색인 경쟁이 시작되고 링크 구조를 이용한 검색 연구가 등장
클라이언트 스크립트Netscape의 JavaScript와 Microsoft의 JScript가 공존
웹 표준HTML 3.2 논의, CSS Level 1 권고, ECMAScript 표준화 작업 시작
JavaJDK 1.0 공개, 애플릿과 플랫폼 독립 실행 환경에 관심 집중
웹 서버Apache가 사용량 1위로 올라서고 PHP/FI가 언어의 형태를 갖추기 시작
기업 시스템클라이언트/서버와 SI가 계속 성장하는 가운데 인트라넷이 새로운 구축 분야로 부상
국내 인터넷PC통신과 인터넷이 함께 성장하고 온라인 쇼핑몰이 문을 열기 시작

브라우저가 웹의 주도권을 다투기 시작했다

1996년 초 웹 브라우저의 강자는 Netscape Navigator였다. Microsoft는 1995년에 Internet Explorer 1.0과 2.0을 연이어 내놓았지만, 경쟁 구도를 크게 바꾼 제품은 1996년 8월 13일 공개한 Internet Explorer 3.0이었다.

Microsoft의 Internet Explorer 3.0 출시 발표에는 당시 브라우저 경쟁의 방향이 그대로 드러난다. HTML과 스타일시트뿐 아니라 Java 애플릿, ActiveX, ActiveMovie, RealAudio, Shockwave, VRML까지 하나의 브라우저에서 지원한다는 것이 핵심 홍보 내용이었다. 브라우저는 더 이상 글과 이미지만 보여 주는 도구가 아니라 멀티미디어와 프로그램을 실행하는 플랫폼으로 취급되기 시작했다.

같은 시기 Netscape도 Navigator 3.0을 내놓았다. 당시 두 제품의 경쟁은 1996년 8월의 Washington Post 보도에도 브라우저 전쟁으로 표현됐다. 두 회사는 표준 지원뿐 아니라 프레임, 플러그인, 스크립트, 멀티미디어와 자체 확장 기능을 두고 경쟁했다. 기능을 먼저 내놓는 일이 시장 점유율과 직결된다고 판단했기 때문에 구현이 표준 논의보다 앞서가는 경우가 많았다.

이 경쟁은 웹 개발자에게 새로운 가능성과 새로운 부담을 동시에 가져왔다. 더 풍부한 페이지를 만들 수 있게 됐지만 어느 한 브라우저에서 동작한다는 사실만으로는 충분하지 않았다.

웹이 커지면서 검색엔진이 새로운 관문이 됐다

웹사이트와 문서가 빠르게 늘어나자 주소를 직접 입력하거나 다른 페이지의 링크만 따라다니는 방식으로는 원하는 정보를 찾기 어려워졌다. 사람이 주제별로 사이트를 분류한 디렉터리와 프로그램이 웹 문서를 수집해 색인을 만드는 검색엔진이 함께 사용됐고, 더 많은 문서를 더 빠르게 수집하고 관련 있는 결과를 앞에 보여 주는 기술이 중요해졌다.

전년도인 1995년 12월 등장한 AltaVista는 1996년에 빠르게 확산됐다. 빠른 웹 크롤러와 확장 가능한 색인 소프트웨어로 방대한 문서의 본문을 검색할 수 있게 하면서, 검색엔진이 웹의 정보를 발견하는 핵심 서비스로 자리 잡는 흐름을 앞당겼다. AltaVista의 출시와 기술적 의미는 1995년 글에서 살펴봤으므로, 여기서는 그 뒤에 이어진 검색 기술의 분화를 중심으로 본다.

UC Berkeley에서 개발된 Inktomi는 검색 기술을 또 다른 방향으로 확장했다. 여러 대의 워크스테이션을 활용하는 분산 검색 기술을 개발했고, 이 기술을 사용하는 HotBot이 1996년 5월 20일 공개됐다. Inktomi 개발자의 기록USENIX 발표 자료는 검색 화면을 운영하는 서비스와 대규모 색인·검색 기술을 제공하는 기반 사업이 분리될 가능성을 보여 준다.

같은 해 Stanford에서는 검색 순위를 정하는 새로운 연구가 시작됐다. Larry Page와 Sergey Brin은 웹 문서가 서로 연결되는 방식을 분석하는 검색 시스템을 만들고 BackRub이라고 불렀다. 단어가 문서에 포함됐는지만 확인하는 데서 나아가, 어떤 페이지가 다른 페이지의 링크를 받는지를 검색 결과의 중요도를 판단하는 데 이용하려는 접근이었다. Google의 공식 역사는 이 연구가 전통적인 학술 인용 분석을 웹에 적용했고 이후 PageRank의 기반이 됐다고 설명한다. Google이라는 회사와 서비스가 정식으로 등장하는 것은 뒤의 일이지만, 핵심 검색 기술의 출발점은 1996년에 놓였다.

국내에서는 한글 문서를 제대로 찾는 문제가 별도의 기술 과제였다. 한글 형태를 처리하고 국내 웹 문서를 수집하는 검색 서비스들이 경쟁하기 시작했다. 1996년 10월의 한국경제 보도에는 한글과컴퓨터의 심마니, 대구대학교의 까치네, 한국통신의 정보탐정 등이 한글 정보 검색 기술을 개발하던 상황이 기록돼 있다.

검색엔진의 성장은 웹 개발의 대상도 넓혔다. 페이지를 만드는 것뿐 아니라 문서를 자동으로 수집하는 크롤러, 대량의 텍스트를 저장하는 색인, 검색어를 처리하는 질의 시스템, 결과의 순서를 정하는 알고리즘이 중요한 소프트웨어 분야로 부상했다.

JavaScript와 JScript: 혁신 뒤에 바로 나타난 호환성 문제

Netscape Navigator에 들어간 JavaScript는 사용자의 입력을 검사하고, 버튼이나 링크에 반응하며, 페이지 일부의 동작을 바꾸는 길을 열었다. 서버에 요청을 보내 결과 페이지를 다시 받을 필요가 없는 상호작용이 가능해진 것이다.

Microsoft는 Internet Explorer 3.0에 자체 구현인 JScript를 탑재했다. 이름만 다른 동일한 언어라고 보기에는 구현 시점과 지원 기능, 브라우저가 페이지를 다루는 방식에 차이가 있었다. 언어 사양과 브라우저 객체의 표준도 아직 완성되지 않았다.

그 결과 1996년의 스크립트는 다음과 같은 조건에 민감했다.

  • 사용자가 Netscape Navigator와 Internet Explorer 중 무엇을 쓰는가
  • 같은 브라우저라도 어느 버전을 설치했는가
  • 해당 기능이 표준인지 특정 회사의 확장 기능인지
  • Java, JavaScript, 플러그인 또는 ActiveX 중 어떤 실행 환경을 요구하는가

스크립트 오류가 브라우저마다 다르게 나타나고, 한쪽에서 작동하는 코드가 다른 쪽에서는 실행되지 않는 일이 드물지 않았다. 개발자는 브라우저를 판별해 서로 다른 코드를 실행하거나, 일부 사용자에게는 기능을 포기한 단순한 페이지를 제공해야 했다.

업계도 이 문제를 인식했다. Netscape의 JavaScript와 Microsoft의 JScript 등을 바탕으로 공통 언어 사양을 만들기 위한 Ecma TC39 작업이 1996년 11월 시작됐다. ECMA-262 초판의 역사 설명Ecma의 1996년 회의 자료에서 그 과정을 확인할 수 있다. 첫 ECMAScript 표준이 채택되는 것은 1997년의 일이다.

따라서 1996년은 JavaScript가 빠르게 확산된 해인 동시에, 표준 없이 여러 구현이 먼저 보급될 때 어떤 문제가 생기는지를 보여 준 해이기도 하다.

CSS1: 문서의 구조와 표현을 나누려는 첫 표준

초기 웹 제작자는 글꼴, 색상, 여백과 배치를 제어하기 위해 HTML 태그와 브라우저별 속성에 의존했다. 디자인 정보를 문서 곳곳에 반복해서 넣어야 했고, 사이트 전체의 모양을 바꾸려면 여러 파일을 일일이 수정해야 했다.

W3C는 1996년 12월 17일 Cascading Style Sheets Level 1을 권고안으로 발표했다. CSS1은 글꼴, 색상, 여백 같은 표현 속성을 지정하고 하나의 스타일시트를 여러 문서에 연결할 수 있도록 했다. HTML이 문서의 구조를 맡고 CSS가 표현을 맡는 방향이 공식 표준으로 자리 잡기 시작한 것이다.

하지만 권고안 발표가 곧 일관된 구현을 뜻하지는 않았다. W3C의 당시 발표에서도 Microsoft 제품은 CSS1을 지원하고 있었지만 Netscape를 비롯한 여러 업체는 앞으로 지원할 예정이라고 설명했다. 웹 제작자는 CSS를 사용할 수 있는 브라우저와 그렇지 않은 브라우저를 함께 고려해야 했다.

HTML도 변하고 있었다. W3C는 1996년 5월 HTML 3.2 계획을 발표하며 표, Java 애플릿, 이미지 주변의 텍스트 흐름처럼 이미 제품에서 널리 사용되던 기능을 개방형 규격으로 정리하려 했다. HTML 3.2가 최종 권고안이 되는 시점은 1997년 1월이다.

이 흐름은 당시 웹 표준이 미래의 기능을 미리 설계하기만 한 것이 아니라, 브라우저들이 먼저 구현해 놓은 현실을 뒤따라 정리하는 역할도 했음을 보여 준다.

Java 1.0과 애플릿의 기대

1996년 1월 23일 JDK 1.0이 공개되면서 Java는 발표 단계에서 실제 개발 도구의 단계로 넘어갔다. Oracle에 보존된 당시 Java Tutorial의 변경 기록은 이날 문서 링크가 JDK 1.0 정식 배포판을 가리키도록 갱신됐다고 기록한다.

Java의 관심사는 크게 두 방향이었다.

  • 운영체제와 하드웨어가 달라도 Java Virtual Machine이 있으면 같은 바이트코드를 실행한다는 플랫폼 독립성
  • 웹 페이지를 통해 내려받아 브라우저 안에서 실행하는 작은 프로그램인 애플릿

애플릿은 정적인 웹 페이지 안에 애니메이션, 그래픽, 계산, 사용자 입력 같은 기능을 넣는 방법으로 주목받았다. 브라우저 업체들도 Java 지원을 경쟁적으로 내세웠다. 다만 실제 실행에는 브라우저의 Java 환경과 버전, 보안 설정이 영향을 미쳤고 내려받는 데도 시간이 필요했다. 그럼에도 Java는 인터넷 시대의 범용 프로그램 실행 환경이 될 수 있다는 기대를 받았다.

기업 개발자에게 Java는 애플릿만을 의미하지 않았다. 네트워크 기능, 객체지향 언어, 자동 메모리 관리와 표준 클래스 라이브러리를 함께 제공하는 새로운 개발 환경이었다. 다만 1996년은 생태계가 막 시작된 시기였으므로, 기존 C/C++와 Visual Basic 기반 시스템을 즉시 대체했다기보다 새로운 선택지가 실무 검토 대상에 들어온 해로 보는 편이 정확하다.

서버에서는 CGI를 넘어서는 도구가 자라기 시작했다

웹 서버의 기본적인 동적 처리 방식은 여전히 CGI였다. 요청마다 외부 프로그램을 실행하는 구조는 이해하기 쉬웠지만, 방문자가 늘어나고 데이터베이스 연동이 많아질수록 개발과 운영 부담도 커졌다.

1995년 출발한 PHP는 1996년 4월 PHP/FI라는 두 번째 세대의 구현으로 발전했다. PHP 공식 역사에 따르면 PHP/FI는 DBM, mSQL, Postgres95 데이터베이스 연결과 쿠키, 사용자 정의 함수를 지원했다. 6월에는 2.0이라는 버전 번호를 받았다. 아직 정식 2.0 완성판은 아니었지만, 개인 홈페이지용 도구에서 동적 웹 응용 프로그램을 만드는 언어로 변하기 시작한 시점이었다.

Apache도 빠르게 성장했다. Apache 프로젝트의 공식 역사는 프로젝트가 만들어진 지 1년이 되기 전에 Netcraft 조사에서 NCSA HTTPd를 넘어 인터넷에서 가장 널리 쓰이는 웹 서버가 됐다고 기록한다. 공개된 소스와 여러 개발자의 패치가 웹의 기반 시설로 자리 잡을 수 있음을 보여 준 사례였다.

데이터베이스 분야에서는 Postgres95 개발자들이 1996년 7월 첫 공개 CVS 서버를 열고 협업을 확대했다. 프로젝트 이름도 SQL 지원을 드러내는 PostgreSQL로 바뀌었다. PostgreSQL 공식 역사는 이때부터 기존 서버의 문제를 수정하는 데서 기능과 역량을 확장하는 쪽으로 개발의 무게가 이동했다고 설명한다.

웹 서버, 스크립트 언어, 데이터베이스가 각각 성장하면서 동적 사이트를 구성할 수 있는 공개 소프트웨어의 기반이 점차 갖춰지고 있었다.

기업의 관심은 인트라넷으로 향했다

공개 인터넷만 성장한 것은 아니었다. 기업은 웹 브라우저와 HTML, HTTP를 사내 정보 시스템에 적용하기 시작했다. 이런 내부 네트워크가 인트라넷이라는 이름으로 빠르게 주목받았다.

기존 클라이언트/서버 시스템은 사용자 PC마다 전용 프로그램을 설치하고 관리해야 했다. 인트라넷은 브라우저를 공통 화면으로 사용해 사내 공지, 문서, 업무 정보와 그룹웨어 기능에 접근하게 만들 수 있었다. 기존 데이터베이스와 호스트 시스템을 당장 버리기보다 웹 인터페이스를 덧붙이는 접근도 가능했다.

따라서 1996년의 기업 개발 현장에는 여러 구조가 동시에 존재했다.

  • C/C++와 Visual Basic으로 만든 Windows 클라이언트
  • 관계형 데이터베이스를 중심으로 한 클라이언트/서버 업무 시스템
  • 메일, 전자결재와 문서 공유를 묶은 그룹웨어
  • HTML과 웹 서버를 이용해 내부 정보를 제공하는 인트라넷
  • 기존 호스트와 데이터베이스를 웹에 연결하는 게이트웨이와 미들웨어

웹은 기존 기업 시스템을 한 번에 교체하는 기술이라기보다, 서로 다른 시스템에 접근하는 새로운 공통 화면으로 먼저 들어오기 시작했다.

국내의 1996년: SI·인트라넷과 온라인 서비스의 성장

국내에서도 1996년은 인터넷이 실험적인 연결망을 넘어 산업의 한 분야로 보이기 시작한 시기였다. PC통신은 여전히 중요한 온라인 서비스였고, 인터넷 이용도 빠르게 늘었다. 1996년 12월 당시 한국경제 기사는 한국전산원 조사를 인용해 국내 인터넷 이용자를 약 75만 명으로 소개하고, PC통신과 인터넷을 포함한 온라인 산업이 대중화 단계로 접어들었다고 평가했다.

기업 소프트웨어 시장에서는 시스템 통합(SI), 그룹웨어와 인트라넷이 중요한 화두였다. 1996년 초 전자신문의 국내 소프트웨어 산업 전망은 인터넷이 세계 소프트웨어 업계의 강력한 변화 요인이 됐으며, 국내 응용 소프트웨어 업체들이 인터넷 전략과 32비트 프로그램 개발을 함께 준비해야 한다고 보도했다. 같은 해 말 한국경제의 산업 결산은 공공·민간 부문의 SI 사업 확대와 함께 그룹웨어 업체들이 인트라넷 제품 개발에 적극적으로 나섰다고 전했다.

웹이 실제 거래 공간으로 사용되기 시작한 것도 중요한 변화다. 1996년 6월 인터파크가 문을 열었고, 같은 해 롯데의 인터넷 쇼핑 서비스도 시작됐다. 전자신문의 전자상거래 역사 기록은 이를 국내 종합 온라인 쇼핑몰 시장의 출발로 다룬다.

당시 온라인 쇼핑은 대중적인 소비 방식이 아니라 개척 단계였다. 이용자 수, 통신 속도, 결제와 배송에 대한 신뢰, 상품 정보 구축 등 해결해야 할 문제가 많았다. 그러나 웹 페이지가 정보를 보여 주는 데서 그치지 않고 상품을 고르고 주문하는 업무 시스템으로 확장됐다는 점에서 개발 영역의 변화를 보여 준다.

국내 개발자에게 1996년은 한 가지 기술로 통일되는 해가 아니었다. DOS와 Windows 프로그램, SI와 클라이언트/서버, PC통신, 인트라넷과 초기 웹 서비스가 모두 개발 대상이었다. 새 인터넷 기술을 익히는 일과 기존 업무 시스템을 유지·확장하는 일이 동시에 요구됐다.

1996년을 한 문장으로 정리하면

1996년은 Java와 브라우저 스크립트, CSS, 동적 서버 도구가 웹을 프로그램의 실행 환경으로 넓힌 동시에, 제품 경쟁이 표준보다 앞서가면서 호환성이라는 대가가 선명해진 해였다.

이해의 핵심은 어떤 기술이 처음 등장했는지만 보는 데 있지 않다. 브라우저 업체는 더 많은 기능을 빠르게 넣으려 했고, 표준 기구는 서로 다른 구현을 공통 규격으로 모으려 했다. 서버에서는 공개 소프트웨어가 성장했으며, 기업은 웹 기술을 인트라넷과 기존 시스템의 연결에 활용하기 시작했다. 국내에서는 SI와 그룹웨어가 성장하는 가운데 인터넷 이용자와 온라인 서비스가 본격적으로 늘어났다.

1997년에는 이 흐름이 더 거세진다. ECMAScript와 HTML 3.2가 정식 표준이 되고, 브라우저 경쟁은 운영체제와 배포 전략의 싸움으로 확대된다. 동적인 웹을 만드는 기술도 실험의 범위를 벗어나 실제 서비스 개발의 도구로 빠르게 자리 잡기 시작한다.

참고 자료

이 글은 당시 발표 자료와 표준 문서, 프로젝트 공식 기록, 1996년에 보도된 국내 기사를 우선해 작성했습니다. 제품을 출시한 기업의 발표 자료는 출시 사실과 당시 제시한 방향을 확인하는 용도로 사용하고, 우월성에 관한 홍보 문구는 사실 판단의 근거로 삼지 않았습니다.