HTTP 완벽가이드 읽은 후 정리
목차
- URL 문법, 여러 URL 컴포넌트가 어떤 의미를 가지며 무엇을 수행하는지
- 여러 웹 클라이언트가 지원하는 상대 URL과 확장 URL 같은 단축 URL에 대해서
- URL의 인코딩과 문자규칙
- 여러 인터넷 정보 시스템에 적용되는 공통 URL 스킴
- 기존 이름은 유지하면서 객체들을 다른 장소에 옮기는 것을 가능하게 해주는 URN을 포함한 URL의 미래
인터넷의 리소스 탐색하기
- http는 url의 스킴
- www.joes-hardware.com은 서버의 위치
- /tools.html은 리소스의 경로
- url은 http프로토콜이 아닌 다른 프로토콜도 사용 가능
- mailto: ~
- ftp: ~
- rtsp: ~
URL 문법
스킴: 사용할 프로토콜
- http:
- mailto:
- ftp:
등등...
호스트와 포트
http://www.joes-hardware.com:80/index.html
http://161.58.228.45:80/index.html
- 두 개의 url은 같음
- 첫 번째는 호스트명
- 두 번째는 ip
- 기본포트는 80
사용자 이름과 비밀번호
- FTP 서버 예시
ftp://ftp.prep.ai.mit.edu/pub/gnu
ftp://anonymous@ftp.prop.ai.mit.edu/pub/gnu
ftp://anonymous:pwd@ftp.prop.ai.mit.edu/pub/gnu
- 첫 번째는 사용자 이름이나 비밀번호 없이 표준 스킴, 호스트, 경로만 있음. 사용자 이름과 비밀번호를 입력하지 않을 경우 기본 사용자 이름 값으로 'anonymous'가, 비밀번호는 브라우저마다 갖고있는 기본값을 사용한다.(크롬은 chrome@example.com)
- 두 번째는 사용자 이름만 있음 '@' 문자는 url로부터 사용자 이름과 비밀번호 컴포넌트를 분리함
- 세 번째는 사용자 이름과 비밀번호를 ':'로 분리하여 기술
경로
http://www.joes-hardware.com:80/seasonal/index-fall.html
- '/'를 기준으로 경로조각으로 나뉘며, 각 경로조각은 자체만의 파라미터 컴포넌트를 가질 수 있다.
파라미터
http://www.joes-hardware.com/hammers;sale=false/index.html;graphics=true
- 위 url은 hammers와 index.html의 경로조각이 있음
- hammers는 값이 false인 sale이라는 파라미터를 갖는다.
- index.html은 값이 true인 graphics란 파라미터를 갖는다.
질의 문자열
http://www.joes-hardware.com/inventory-check.cgi?item=123&color=blue
- '&'로 두개의 질의 컴포넌트가 있음
프래그먼트
http://www.joes-hardware.com/tools.html#drills
- 프래그먼트는 url의오른쪽에 '#'문자에 이어서 온다.
- #뒤에 붙은 값은 서버로 전달하지 않는다.
단축 URL
- 웹 클라이언트는 몇몇 단축 url을 인식하고 사용한다.
상대 URL
- 상대 url은 url을 짧게 표기하는 방식
http://www.joes-hardware.com/tools.html —>
<html>
<head>
<title>Joe’s Tools</title>
</head>
<body>
<h1>Hammers</h1>
<p>Joe’s hardware online has the largest selection of
<a href=“./hammers.html”>hammers</a>on earth.
</p>
</body>
</html>
- 상대 url은 프래그먼트이거나 url 일부
- url을 처리하는 브라우저 같은 애플리케이션은 상대 url과 절대 url 간에 상호 변환을 할 수 있어야 한다.
- 주어진 경로는 ./hammers.html, 베이스 URL은 http://www.joes-hardware.com/tools.html
- 주어진 경로에 스킴은 생략되어 있으므로, 알고리즘도에 따라 베이스 URL의 스킴을 계승
- 주어진 경로는 적어도 하나의 구성요소는 갖고 있으므로, 아래로 내려가 호스트와 포트번호를 계승
- 상대 URL에 존재하는 구성요소와 지금까지 계승받았던 다른 요소들을 결합해, 절대 URL을 완성
URL 확장
- 호스트명 확장:
주소창에 yahoo를 입력하면 www.yahoo.com을 만든다.
- 히스토리 확장:
주소창에 http://www.joes~ 를 입력하면 http://www.joes-hardware.com로 연결해준다.
'개발 > HTTP' 카테고리의 다른 글
[HTTP] 커넥션 관리 (2) | 2022.08.08 |
---|---|
[HTTP] HTTP 메시지 (0) | 2022.07.06 |
[HTTP] HTTP 개관 (0) | 2022.07.01 |