인터넷은 전 세계 컴퓨터들이 서로 연결된 거대한 네트워크다. 이 네트워크를 통해 데이터를 주고받을 수 있다. 웹(Web)은 인터넷을 기반으로 하는 정보의 바다로, 여기서 문서나 자원들이 상호 연결되어 있다.
scheme:[//[user:password@]host[:port]][/]path[?query][#fragment]
scheme
: 자원에 접근하는 방법을 명시한다. 예를 들어, http
, https
, ftp
등이 있다.user:password@
: 선택적이며, 자원에 접근하기 위한 인증 정보를 포함할 수 있다.host
: 자원이 위치한 서버의 주소다.port
: 서버의 특정 포트를 명시한다. 생략 가능하며, 기본값은 사용되는 스킴에 따라 다르다.path
: 서버 내 자원의 경로다.query
: 선택적이며, 추가적인 질의 매개변수를 포함한다.fragment
: 선택적이며, 자원 내 특정 부분을 가리킨다.https://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument
host
와 path
부분이다.http://www.example.com:8080/index.html
http
: 사용되는 프로토콜www.example.com
: 호스트 이름8080
: 포트 번호/index.html
: 자원의 경로urn:
스킴으로 시작한다.urn:isbn:0451450523
urn
은 스킴을, isbn
은 자원의 종류(여기서는 책의 ISBN 번호)를, 0451450523
은 특정 책의 고유 번호를 나타낸다.URL을 사용한 간단한 웹 요청 예제
:
const axios = require('axios');
axios.get('https://www.example.com')
.then(response => {
console.log(response.data); // 서버로부터 받은 데이터를 출력
})
.catch(error => {
console.error('Error fetching the URL:', error);
});
이 코드는 axios
라이브러리를 사용하여 https://www.example.com
URL로 HTTP GET 요청을 보내고, 응답을 콘솔에 출력한다.
웹 페이지 내에서 다양한 자원에 대한 링크를 생성하는 예를 살펴보자. HTML 문서에서 URL은 주로 <a>
, <img>
, <link>
, <script>
태그 등에 사용된다.
<!DOCTYPE html>
<html>
<head>
<title>Example Page</title>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
<h1>Welcome to My Web Page</h1>
<p><a href="http://www.example.com/more-info.html">More Information</a></p>
<img src="image.jpg" alt="Example Image">
<script src="script.js"></script>
</body>
</html>
<a href="...">
: 다른 웹 페이지로의 링크를 생성한다.<link rel="stylesheet" href="...">
: CSS 스타일시트를 현재 페이지에 연결한다.<img src="...">
: 이미지를 웹 페이지에 포함한다.<script src="...">
: 자바스크립트 파일을 페이지에 포함한다.자바스크립트에서 URL을 사용하여 네트워크 요청을 보내는 간단한 예제를 살펴보자. 이 예제에서는 fetch
API를 사용한다.
fetch('https://www.example.com/api/data')
.then(response => response.json()) // JSON 형태로 응답을 파싱
.then(data => {
console.log(data); // 받은 데이터를 콘솔에 출력
})
.catch(error => {
console.error('Error fetching data:', error);
});
이 코드는 https://www.example.com/api/data
URL로 HTTP GET 요청을 보내고, 응답으로 받은 JSON 데이터를 콘솔에 출력한다.