Node.js 학습 주소 분석 모듈 URL 사용 에 대한 자세 한 설명
본 고 는 Node.js 주소 분석 모듈 URL 사용 에 관 한 내용 을 소개 하고 참고 학습 을 제공 합 니 다.다음은 더 이상 할 말 이 없 으 니 상세 한 소 개 를 해 보 겠 습 니 다.
url 구조 화/모듈 화/경로 분석
url.parse(urlString[, parseQueryString[, slashesDenoteHost]])
url.format(urlObject)
url.resolve(from, to)
공식 수첩 위의 그림 은 이렇다.
이 그림 은 url 구조 가 어떤 부분 으로 구성 되 고 어떤 부분 이 어떤 부분 을 포함 하 는 지 설명 한다.
프로 토 콜:요청 프로 토 콜
host:URL 호스트 이름 이 포트 정 보 를 포함 하여 모두 소문 자로 변환 되 었 습 니 다.
auth:URL 에서 인증 정보 부분
hostname:호스트 의 호스트 이름 부분 이 소문 자로 변환 되 었 습 니 다.
port:호스트 의 포트 번호 부분
pathname:URL 의 경로 부분 은 호스트 이름 뒤에 조 회 를 요청 하기 전에
search:URL 의"검색 문자열"부분 은 시작 하 는 물음 표를 포함 합 니 다.
path:pathname 과 search 가 연결 되 어 있 습 니 다.
query:문자열 의 매개 변수 부분(물음표 뒷부분 문자열)을 조회 하거나 query string.parse()를 사용 하여 분석 하고 돌아 오 는 대상 을 조회 합 니 다.
hash:URL 의"\#"뒷부분(\#기호 포함)
url 구조 화
하나의 url 주 소 를 위의 그림 속성 을 가 진 url 대상 으로 구조 화 합 니 다.url.parse 두 번 째 와 세 번 째 매개 변 수 는 기본적으로 false 입 니 다.
예 는 아래 와 같다
const url = require("url");
var urlstr = "http://localhost:8888/bb?name=bigbear&memo=helloworld&memo=helloC";
var urlobj = url.parse(urlstr);
console.log(urlobj);
/*
Url {
protocol: 'http:',
slashes: true,
auth: null,
host: 'localhost:8888',
port: '8888',
hostname: 'localhost',
hash: null,
search: '?name=bigbear&memo=helloworld&memo=helloC',
query: 'name=bigbear&memo=helloworld&memo=helloC',
pathname: '/bb',
path: '/bb?name=bigbear&memo=helloworld&memo=helloC',
href: 'http://localhost:8888/bb?name=bigbear&memo=helloworld&memo=helloC' }
*/
두 번 째 인자 가 true 일 때
query: { name: ‘bigbear', memo: [ ‘helloworld', ‘helloC' ] },
예 는 다음 과 같다.
const url = require("url");
var urlstr = "http://localhost:8888/bb?name=bigbear&memo=helloworld&memo=helloC";
console.log(
url.parse(urlstr, true)
)
/*
Url {
protocol: 'http:',
slashes: true,
auth: null,
host: 'localhost:8888',
port: '8888',
hostname: 'localhost',
hash: null,
search: '?name=bigbear&memo=helloworld&memo=helloC',
query: { name: 'bigbear', memo: [ 'helloworld', 'helloC' ] },
pathname: '/bb',
path: '/bb?name=bigbear&memo=helloworld&memo=helloC',
href: 'http://localhost:8888/bb?name=bigbear&memo=helloworld&memo=helloC' }
*/
세 번 째 매개 변수 비교예 는 다음 과 같다.
const url = require("url");
var urlstr = "//foo/bar ";
console.log(
url.parse(urlstr, true,true)
)
/*
:Url {
protocol: null,
slashes: true,
auth: null,
host: 'foo',
port: null,
hostname: 'foo',
hash: null,
search: '',
query: {},
pathname: '/bar',
path: '/bar',
href: '//foo/bar' }
*/
const url = require("url");
var urlstr = "//foo/bar ";
console.log(
url.parse(urlstr)
)
/*
:
Url {
protocol: null,
slashes: null,
auth: null,
host: null,
port: null,
hostname: null,
hash: null,
search: null,
query: null,
pathname: '//foo/bar',
path: '//foo/bar',
href: '//foo/bar' }
*/
url 모듈 화url 대상 을 url 문자열 로 변환 합 니 다.url 대상 의 속성 은
url.parse()
생 성 된 대상 의 속성 입 니 다.url.parse()
와url.format()
는 서로 역 조작 이다.예 는 다음 과 같다.
const url = require("url");
var Urlobj = {
protocol: 'http:',
slashes: true,
auth: null,
host: 'localhost:8888',
port: '8888',
hostname: 'localhost',
hash: null,
search: '?name=bigbear&memo=helloworld&memo=helloC',
query: { name: 'bigbear', memo: [ 'helloworld', 'helloC' ] },
pathname: '/bb',
path: '/bb?name=bigbear&memo=helloworld&memo=helloC',
}
console.log(
url.format(Urlobj)
)
// :http://localhost:8888/bb?name=bigbear&memo=helloworld&memo=helloC
경로 분석:url.resolve(from,to)url.resolve()
방법 은 목표 URL 이 기본 URL 에 비해 웹 브 라 우 저 해결 닻 표시 href 와 유사 하 게 해결 되 었 습 니 다.공식 매 뉴 얼 예:
url.resolve('/one/two/three', 'four');
// '/one/two/four'
url.resolve('http://example.com/', '/one');
// 'http://example.com/one'
url.resolve('http://example.com/one', '/two');
// 'http://example.com/two'
총결산이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Node.js를 AWS서버에서 사용하는 실습간단한 예제와 함께 AWS에서 Node.js를사용하는 법을 배워보도록 하겠다. 해당 github에 있는 레포지토리로 사용을 할 것이다. 3000번 포트로 Listen되는 예제이고 간단히 GET, POST, DELET...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.