기본 콘텐츠로 건너뛰기

도메인

도메인은 인터넷에 연결된 컴퓨터를 사람이 쉽게 기억하고 입력할 수 있도록 문자(영문, 한글 등)로 만든 인터넷주소입니다. 도메인 네임 도메인 네임(Domain name)은 넓은 의미로는 네트워크상에서 컴퓨터를 식별하는 호스트명을 가리키며, 좁은 의미에서는 도메인 레지스트리에게서 등록된 이름을 의미한다. 이를 통틀어서 ‘웹 주소’라고 (잘못) 부르는 경우도 있다. 여기서는 후자를 서술한다. 등록된 도메인 네임은 보통 호스트명의 일부분으로, DNS 상에서 해당 호스트명 및 그 하위의 호스트명들은 일반적으로 해당 등록자에게 권한이 주어진다. 도메인 레지스트리는 도메인 네임의 종류에 따라 국제 인터넷 주소자원 관리기관(ICANN)과 해당 국가 기관으로부터 승인을 받아, 일반 사용자들의 도메인 등록을 위임받는 역할을 한다. 이런 도메인 네임은 숫자로 된 IP 주소에 비해 외우기 쉬우며, 여러 개의 IP 주소가 한 도메인에 대응되거나 (서브 도메인) 여러 도메인이 하나의 IP 주소로 대응되는 (가상 호스트) 것도 가능하다. 도메인 네임이 항상 호스트명인 것은 아니지만, 호스트명이 아닌 도메인 네임은 대부분 아무 곳에도 사용될 수 없기 때문에 대부분의 도메인 레지스트리들은 호스트명과 같이 도메인 네임에 들어갈 수 있는 문자를 ASCII에서 0부터 9까지, a부터 z까지, 그리고 하이픈으로 등록을 제한하고 있다. 국제화 도메인(IDN)은 임의의 유니코드 문자열을 올바른 호스트명으로 변환하여 이 제한을 회피할 수 있도록 한다. 다만 제한적으로 밑줄(_)로 시작하는 도메인은 SRV 레코드와 같이 올바른 호스트명이 아니어야 하는 도메인 네임을 위해서 쓰이기도 한다.

댓글

이 블로그의 인기 게시물

[Java] Http File Download 이어받기

Http 서버로부터 다운로드 받는 파일을 이어받기 위해서는 Http Header에 아래 두가지 정보를 추가해 주면 된다. URLConnection conn = url.openConnection(); conn.setRequestProperty("Accept-Ranges", "bytes"); conn.setRequestProperty("Range", "bytes=" + mOffset + "-"); 그러면 서버에서는 해당 Offset으로부터 File을 다운로드 시켜준다. 클라이언트가 요청헤더에 Range 필드를 포함 시켜서 보내면, 서버는 그 정보를 가지고 어디서 부터 파일을 보낼지 판단을 합니다. 하지만 클라이언트가(브라우저) Range 필드를 포함 시켜야 할지를 판단하는 기준은 최초 다운로드 요청시 서버의 응답헤더에 따라 다음 요청헤더에 Range 헤더를 생성할지 않할지 판단하게 됩니다. 그걸 당락짓는 응답 헤더 필드는 다음과 같습니다. Accept-Ranges , ETag, Last-Modified 반드시 위 필드를 응답 헤더에 같이 보내줘야 클라이언트는 다음 요청시 Range헤더를 포함시켜 보내게 됩니다. 참고로 말씀 드리면 위 필드를 포함 시켜서 보내더라도 value는 반드시 " " 로 묶어서 보내야 합니다. 안그러면 브라우저는 죽어도 Range 필드를 생성시키지 않습니다. HTTP 1.1 스펙은 따옴표를 강제적으로 해줘라 이런 내용 없습니다. 자바기준 40byte의 파일이라치면 클리이언트 요청을 두번으로 나누었다치면 이케 connection.setRequestProperty("Range", "bytes=0-20"); connection.setRequestProperty("Range", "bytes=20-40"); 단 co...

java 특정 디렉토리에 있는 파일 목록을 읽어내기, 정렬해서 가져오기

폴더 리스트 가져오기 String path="C:\"; File dirFile=new File(path); File []fileList=dirFile.listFiles(); for(File tempFile : fileList) {   if(tempFile.isFile()) {     String tempPath=tempFile.getParent();     String tempFileName=tempFile.getName();     System.out.println("Path="+tempPath);     System.out.println("FileName="+tempFileName);     /*** Do something withd tempPath and temp FileName ^^; ***/   } } 정렬해서 가져오기 import java.io.FileFilter; import java.io.IOException; import java.util.Arrays; import java.util.Date; import org.apache.commons.io.comparator.LastModifiedFileComparator; import org.apache.commons.io.filefilter.FileFileFilter; public class LastModifiedFileComparatorTest { public static void main(String[] args) throws IOException { File directory = new File("."); // get just files, not directories File[] files = directory.listFiles((FileFilter) FileFileFilter.FILE); System.out.println("Defaul...