라벨이 URL인 게시물 표시

[Node.js] 주소 문자열과 요청 파라미터

이미지
주소 문자열과 요청 파라미터 위의 URL을 보면  https 는 프로토콜 www.youtube.com 은 도메인이라고도 하며 hostname ?뒤에 문장으로 오는 부분을 query string(요청 파라미터)이라고 한다. 이름과 값으로 이루어져있고 각각의 요청 파라미터 사이에는 &표시로 연결된다. const url = require ( 'url' ); const urlString = 'https://search.naver.com/search.naver?sm=top_hty&fbm=0&ie=utf8&query=tomato' ; let currentUrl = url . parse ( urlString ); //url을 받아와 객체를 반환한다. protocol, path, query 정보를 볼 수 있다. console . log ( currentUrl ); 결과👇🏼 추가적으로 내가 검색했던 tomato만 분리해내는것도 가능하다.  위에 코드에 이어서 아래 코드를 작성하면 const queryString = require ( 'querystring' ); const params = queryString . parse ( currentUrl . query ); console . log ( params . query ); 결과👇🏼 tomato 를 반환한다.

URI 와 URL 차이

URI Uniform Resource Identifier. (자원의 식별자) resource의 식별자이다. 즉, 리소스의 식별은 리소스의 위치를 표시하거나 unique한 이름으로 논리적 또는 물리적 리소스를 식별하는 고유한 문자열 시퀀스다. URL Uniform Resource Locator. (자원의 위치) resource를 access할 수 있는 위치를 나타낸다. 리소스가 어디에 있는지 알려주는 웹 주소이다. 구성 방식 Protocol(necessary) + Domain Name(necessary) + Port + Path to the file + Parameters + Anchor 구성 방식 설명 Protocol은 네트워크 상에서 브라우저가 데이터를 주고 받기 위한 통신 규약이다. Domain Name은 request를 보내려는 웹서버를 나타낸다.  본래 IP 주소를 사용하였으나 컴퓨터가 아닌 사람이 숫자를 외우기에는 상당히 불편하였다.  그래서 Domain Name을 문자열로 정하고 이를 관련된 ip address로 바꿔주는 DNS가 등장하였다. Port는 웹서버에서 리소스를 얻기 위해 어떤 gate를 사용해야 하는지 명시한다. http는 표준 포트번호는 80번, https 표준 포트번호는 443번인데 웹서버가 프로토콜의 표준 포트번호를 사용한다면 URL에서 port를 작성하지 않아도 접근 가능하다. Path는 Web Server의 리소스 경로이다.  이전에는 실제로 웹서버 상의 파일의 경로를 URL의 Path로 나타냈지만 근래에 와서는 거의 web server에서 file이 위치하는 물리적 경로를 사용하지 않고 추상화된 경로를 사용한다. Anchor가 명시되면 페이지를 로드할 때 html document에서 해당 Anchor가 정의된 곳으로 이동한다. URI / URL 구분하기 ex) URI https://www.google.com/search?q=uri+url+%EC%B0%A8%EC%9D%B4  ex) URL https://www.google.com