1. URL 입력
- URL은 http 뿐 아니라 ftp:, file: mailto: 등 여러 프로토콜이(file은 프로토콜 x) 가능함 ( 브라우저가 웹 서버에 액세스하는 클라이언트로 사용되는 경우가 많지만, 브라우저의 기능이 그뿐만은 아님)
- 파일 다운로드/업로드하는 FTP의 클라이언트 기능이나 메일의 클라이언트 기능도 포함
2. URL 해독
- URL의 요소
http:
+ //
+ 웹 서버명
+ / + 디렉토리명 + / + … + 파일명
(데이터 출처의 경로명)- http://web.lab.cyber.co.kr/dir1/file1.html
- 파일명을 생략한 경우 (http://www.lab.cyber.co.kr/dir/)
- index.html, default.htm이라는 기본 파일명을 찾게 됨
3. HTTP 의 기본 개념
- 리퀘스트 메시지 안에는 ‘무엇을'(URI) , ‘어떻게 해서'(HTTP Method) 하겠다는 내용이 쓰여있음
- URI에는 보통 페이지 데이터를 저장한 파일의 이름이나 CGI 프로그램의 파일명을 URI로 씀
- 예 ) /dir1/file1.html. , /dir1/program1.cgi
- URI는 그것만이 아니라 여기에 http: 로시작하는 URL을 그대로 쓸 수도 있음
4. HTTP 리퀘스트 메시지 만들기
- 브라우저는 해독한 URL을 바탕으로 HTTP 리퀘스트 메시지를 만든다
<메소드><공백><URI><공백><HTTP 버전> // 리퀘스트 라인
<필드명>:<필드값> // 메시지 헤더. 한 행에 한 개의 헤더 필드
..
..
<공백 행>
<메시지 본문> // 클라이언트에서 서버에 송신하는 데이터
리퀘스트 메시지<HTTP 버너><공백><스테이터스 코드><공백><응답 문구> // 스테이터스 라인
<필드명>:<필드값> // 메시지 헤더
...
...
<공백 행>
<메시지 본문> // 서버에서 클라이언트에 송신하는 데이터
응답 메시지5. 리퀘스트를 보내면 응답이 돌아온다
- 리퀘스트 메시지에 쓰는 URI는 한 개만으로 결정되어 있으므로 한번에 한 개씩만 읽을 수 있음
- 만약 응답에 영상 파일을 나타내는 태그라는 제어 정보가 포함되어 있으면 브라우저는 그곳에 영상용 공백을 비워두고 문장 표시 후, 웹 서버에 다시 리퀘스트를 보냄
- 즉, 응답에 3개의 영상이 포함되어 있으면 문장 파일 읽는 리퀘스트 1, 영상 파일 읽는 리퀘스트 3개 총 4회 리퀘스트 메시지를 보내게 됨
리퀘스트 메시지에 쓰는 URL은 하나뿐으로, 복수의 파일을 읽을 때는 웹 서버에 별도의 리퀘스트 메시지를 보냄