HTTP 완벽 가이드 1-2. URL과 리소스
📘 HTTP 완벽 가이드 읽고 정리하기 🐿︎
URL
-
Uniform Resoure Locator
-
인터넷 리소스를 가리키는 표준이름
-
브라우저가 정보를 찾는데 필요한 리소스의 위치를 가리킴
-
URL을 이용해 인터넷 상의 리소스를 찾고 사용하며 공유 할 수 있는 것
-
URN은 리소스가 어디 존재하든 상관없이 이름만으로 리소스를 식별 / URL은 리소스가 어디 있는지 설명해 리소스를 식별
-
-
URL을 통해 HTTP 및 다른 프로토콜을 통해 접근 가능 (사용자 브라우저에 URL 입력 -> 브라우저 화면 뒤에서 사용자가 원하는 리소스를 얻기 위해 적절한 프로토콜 사용, 메시지 전송)
-
대부분의 URL 은
스킴://서버위치/경로
구조로 이루어짐-
스킴(scheme)
-
웹 클라이언트가 리소스에 어떻게 접근하는지 알려줌
-
URL이 HTTP 프로토콜 사용
-
-
서버의 위치(host)
- 리소스가 어디에 호스팅 되어 있는지 알려줌
-
리소스의 경로(path)
- 서버에 존재하는 로컬 리소스들 중 요청받은 리소스가 무엇인지 알려줌
-
-
URL은 HTTP 프로토콜이 아닌 다른 프로토콜을 사용해 인터넷에 있는 어떤 리소스든지 가리킬 수 있음
-
-
절대URL : 리소스에 접근하는데 필요한 모든 정보를 가짐
-
상대URL
-
URL을 짧게 표시하는 방식
-
프래그먼트이거나 URL의 일부
-
상대 URL을 접근하는데 필요한 모든 정보를 얻기 위해서는 기저(base)URL을 사용해야 함
-
URL을 처리하는 애플리케이션(ex) 브라우저)은 상대URL과 절대URL간에 상호 변환을 할 수 있어야 함
-
-
URL 문법
-
대부분의 URL 스킴 문법은 일반적으로 9개 부분으로 나뉨
<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<fragment>
Scheme
-
애플리케이션이 어떤 프로토콜을 사용해 리소스를 요청해야 하는지 알려줌
-
주어진 리소스에 어떻게 접근하는지 알려주는 중요한 정보
-
스킴 명은 대소문자를 가리지 않음
-
스킴의 종류 : http, https, mailto, ftp, file, telnet, …
Host / Port
-
호스트
-
접근하려고 하는 리소스를 가지고 있는 인터넷상의 호스트 장비
-
호스트명(www.sample.com)이나 IP(127.0.0.1)주소로 제공
-
-
포트
-
서버가 열어놓은 네트워크 포트
-
HTTP 기본 포트 : 80
-
Username / Password
-
FTP 서버와 같이 자신이 가지고 있는 데이터에 접근을 허용하기 전 사용자 이름과 비밀번호를 요구하는 서버 존재
-
사용자 이름과 비밀번호를 기술하지 않고 FTP URL에 접근할 경우, 사용자 이름은 ‘anonymous’을 기본값으로, 비밀번호는 브라우저마다 가지고 있는 기본값을 사용함
Path
-
경로 컴포넌트는 서버가 리소스의 위치를 찾는 데 사용하는 정보
-
’/’ 문자를 기준으로 경로 조각으로 나뉨
Parameter
-
애플리케이션이 서버에 정확한 요청을 하기 위해 필요한 입력 파라미터를 받는데
-
이름=값 쌍의 리스트, 나머지 앞 부분으로부터 ‘;’로 구분
-
각 경로 조각은 자체 파라미터를 가질 수 있음
Query
-
데이터베이스 같은 서비스들은 요청받을 리소스 형식의 범위를 좁히기 위해 질문이나 질의를 받음
-
’?’ 이후 생성되는 문자열
-
질의 컴포넌트는 게이트웨이(다른 애플리케이션에 접근하려고 할 때 거치는 통로)를 가리키는 URL의 경로 컴포넌트와 함께 전달
-
편의상 많은 게이트웨이가 ‘&’로 나뉜 ‘이름=값’ 쌍 형식의 질의 문자열 사용
Fragment
-
리소스의 특정 부분을 가리킬 수 있도록 프래그먼트 컴포넌트 제공 (ex) HTML 문서 내의 특정 이미지나 일부분을 가리킬 수 있음)
-
’#’ 이후 생성되는 문자열
-
브라우저가 서버로부터 전체 리소스를 내려받은 후 프래그먼트를 사용해 보고자 하는 리소스의 일부를 보여줌 (서버에 프래그먼트를 전달하지는 않음)
HTTPS
-
Hypertext Transfer Protocol Secure
-
HTTP에 데이터 암호화가 추가된 프로토콜
-
https 스킴은 http 스킴과 거의 유사
-
HTTP 커넥션 양 끝단에서 암호화하기 위해 넷스케이프에서 개발한 소켓 계층(Secure Sockets Layer, SSL)을 사용
-
기본 포트값 : 443