HTTP TIL 02

2021년 7월 29일에 작성된 문서 2번 입니다.
http의 배운 내용을 정리했습니다.


URL과 URI

  • 브라우저의 주소창의 URL: 서버가 제공되는 환경에 존재하는 파일 위치.

    https://codestates.com:443/ 사이트에 접속하게 되면, codestates.com 주소가 가리키는 서버의 기본 폴더를 뜻합니다.

  • 슬래시(/)를 이용해 서버의 폴더에 진입하거나 파일을 요청할 수 있다.
macOS: file://127.0.0.1/Users/username/Desktop/

//크롬 브라우저에 입력하면, 브라우저로 PC의 폴더와 파일을 탐색할 수 있다.
  • URL, URI의 구성


URL (Uniform Resource Locator)

  • 네트워크 상에서 웹 페이지, 이미지, 동영상 등의 파일이 위치한 정보
  • URLscheme, hosts, url-path로 구분.
    • scheme(제일 먼저 작성): 통신 방식(프로토콜)을 결정.
      • 일반 웹 브라우저는 http(s) 를 사용.
    • hosts: 웹 서버의 이름이나 도메인, IP를 사용하며 주소를 나타냄.
    • url-path: 웹 서버에서 지정한 루트 디렉토리부터 시작하여 웹 페이지, 이미지, 동영상 등이 위치한 경로와 파일명을 나타낸다.

URI (Uniform Resource Identifier)

  • URL의 기본 요소인 scheme, hosts, url-path에 더해 query, bookmark를 포함
  • query: 웹 서버에 보내는 추가적인 질문.

브라우저의 검색창을 클릭하면 나타나는 주소가 URI입니다. URI는 URL을 포함하는 상위개념입니다. 따라서, 'URL은 URI다.' 는 참이고, 'URI는 URL이다.' 는 거짓입니다.

부분명칭설명
file://, http://, https://scheme통신 프로토콜
127.0.0.1, www.google.comhosts웹 페이지, 이미지, 동영상 등의 파일이 위치한 웹 서버, 도메인 또는 IP
:80, :443, :3000port웹 서버에 접속하기 위한 통로
/search, /Users/username/Desktopurl-path웹 서버의 루트 디렉토리로부터 웹 페이지, 이미지, 동영상 등의 파일이 위치까지의 경로
q=JavaScriptquery웹 서버에 전달하는 추가 질문



IP와 포트

IP address

  • IP(Internet Protocol) : 인터넷 주소체계
  • 인터넷에 연결된 모든 PC는 IP 주소 따라 네 덩이의 숫자로 구분. (IPv4)
  • IPv4(Internet Protocol version 4) : IP 주소체계의 네 번째 버전
  • 최근에는 IPv6를 사용한다.

터미널에서 간단한 명령어로 자주 이용하는 코드스테이츠의 IPv4 주소를 확인할 수 있습니다. 터미널을 열고, nslookup codestates.com 을 입력하면, 다음과 같은 화면을 만날 수 있습니다.

  • 터미널에서 nslookup을 이용해 IP 주소를 확인할 수 있다.

  • IPv4는 각 덩어리마다 0부터 255까지 나타낼 수 있다.
  • 주요 IP주소:
    • localhost, 127.0.0.1 : 현재 사용 중인 로컬 PC
    • 0.0.0.0, 255.255.255.255 : (broadcast address) 로컬 네트워크에 접속된 모든 장치와 소통하는 주소.
      • 서버에서 접근 가능 IP 주소를 broadcast address 로 지정하면, 모든 기기에서 서버에 접근할 수 있다.

PORT

IP 주소가 가리키는 PC에 접속할 수 있는 통로(채널)

  • 포트 번호는 0~ 65,535 까지 사용할 수 있다.
    • 그 중에서 0 ~ 1024번 까지의 포트 번호는 주요 통신을 위한 규약에 따라 이미 정해져 있다.
    • 반드시 알아야 할 포트 번호
      • 22 : SSH
      • 80 : HTTP
      • 443: HTTPS

이미 정해진 포트 번호라도, 필요에 따라 자유롭게 사용할 수 있습니다. 잘 알려진 포트의 경우 URI 등에 명시하지 않지만, 그 외의 잘 알려지지 않은 포트(:3000과 같은 임시 포트)는 반드시 포함해야 합니다.



도메인과 DNS

Domain name

웹 브라우저로 특정 사이트에 진입을 할 때, IP 주소를 대신하여 사용하는 주소

  • IP 주소가 지번 또는 도로명 주소라면, 도메인 이름은 해당 주소에 위치한 상호로 볼 수 있다.

다음과 같이, 터미널에서 도메인 이름을 통해 IP 주소를 확인하는 명령어 nslookup으로 codestates.com 의 IP 주소를 확인할 수 있습니다.

  • IP 주소: 3.34.153.168

  • 도메인 이름: codestates.com 입니다.

  • 주소창에 IP 주소(3.34.153.168)를 입력하면, codestates.com로 이동할 수 있다.


DNS (Domain Name System)

호스트의 도메인 이름을 IP 주소로 변환하거나 반대의 경우를 수행할 수 있도록 개발된 데이터베이스 시스템

만약 브라우저의 검색창에 naver.com을 입력한다면, 이 요청은 DNS에서 IP 주소(125.209.222.142)를 찾습니다. 그리고 이 IP 주소에 해당하는 웹 서버로 요청을 전달하여 클라이언트와 서버가 통신할 수 있도록 합니다.



크롬 브라우저 에러 읽기

Aw, Snap! (크롬 브라우저의 에러 메시지)

다음 에러 메시지가 나타난다면, 페이지를 여는 중에 문제가 발생했다는 뜻입니다.

Error MessageDescription
"Aw, Snap!"Chrome 브라우저에서 페이지를 로드하는 데 문제가 발생했습니다.
ERR_NAME_NOT_RESOLVED호스트 이름(웹 주소)이 존재하지 않습니다.
ERR_INTERNET_DISCONNECTED사용 중인 기기가 인터넷에 연결되지 않았습니다.
ERR_CONNECTION_TIMED_OUT,ERR_TIMED_OUT페이지에 연결하는 데 시간이 너무 오래 걸립니다. 인터넷 연결이 너무 느리거나, 웹페이지에 접속한 사용자가 많아서 발생할 수 있습니다.
ERR_CONNECTION_RESET웹페이지 연결을 방해하는 요소가 어딘가에 발생했습니다.
ERR_NETWORK_CHANGED웹페이지를 로드하는 중에 기기의 네트워크 연결이 해제되었거나, 새로운 네트워크에 연결되었습니다.
ERR_CONNECTION_REFUSED웹페이지에서 Chrome 브라우저의 연결을 허용하지 않았습니다.
ERR_CACHE_MISS웹페이지로부터 이전에 입력한 정보를 다시 한 번 제출하도록 요청받았습니다.
ERR_EMPTY_RESPONSE웹페이지에서 데이터를 전혀 전송하지 않았으며, 데이터를 전송할 서버가 다운되었을 수 있습니다.
ERR_SSL_PROTOCOL_ERROR페이지에서 전송된 데이터를 Chrome 브라우저가 해석하지 못했습니다.
ERR_BAD_SSL_CLIENT_AUTH_CERT클라이언트 인증서(은행 또는 회사 내부 웹사이트 등)에 오류가 발생하여 웹페이지에 로그인할 수 없습니다.
  • 전체 에러 메시지 목록은 크롬 브라우저의 검색창에 chrome://network-errors/를 입력하여 확인할 수 있다.
  • 위의 에러 메시지를 만나면, 다음과 같은 문제가 발생할 수 있다.
    • 웹페이지에 연결할 수 없습니다.
    • 웹페이지가 열리지 않습니다.
    • HTTPS가 적용된 웹페이지가 열리지 않습니다.
    • 사진이 로드되지 않습니다.
    • 새 탭이 로드되지 않습니다.





Written with StackEdit.

좋은 웹페이지 즐겨찾기