Node.js 학습 주소 분석 모듈 URL 사용 에 대한 자세 한 설명

머리말
본 고 는 Node.js 주소 분석 모듈 URL 사용 에 관 한 내용 을 소개 하고 참고 학습 을 제공 합 니 다.다음은 더 이상 할 말 이 없 으 니 상세 한 소 개 를 해 보 겠 습 니 다.
url 구조 화/모듈 화/경로 분석
  • 구조 화:url.parse(urlString[, parseQueryString[, slashesDenoteHost]])
  • 모듈 화:url.format(urlObject)
  • 경로 분석:url.resolve(from, to)
  • 하나의 URL 문자열 은 여러 개의 의미 있 는 구성 요 소 를 포함 하 는 구조 화 된 문자열 입 니 다.분석 할 때 모든 구성 요소 의 속성 을 포함 하 는 URL 대상 을 되 돌려 줍 니 다.
    공식 수첩 위의 그림 은 이렇다.

    이 그림 은 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 입 니 다.
  • 두 번 째 매개 변 수 는 query 속성 값 이 문자열 인지 대상 인지 결정 합 니 다
  • 세 번 째 인자 가 true 라면//후의 첫 번 째 영패 문자 문자열 과 다음/사이 의 문자 문자열 은 호스트
  • 로 해 석 됩 니 다.
    예 는 아래 와 같다
    
    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'
    총결산
    이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

    좋은 웹페이지 즐겨찾기