728x90
IP주소
컴퓨터(호스트)를 구별하는 주소: 4byte = 32 bit
IP 주소는 네트워크 주소와 호스트 주소로 나뉩니다.
- IP 주소의 네트워크 주소가 같다는 것은 두 호스트가 같은 네트워크에 포함되어 있다는 것을 의미합니다.
- IP주소와 서브넷 마스크를 비트 연산자 '&'로 연산하면 IP주소에서 네트워크 주소만 뽑아낼 수 있습니다.
즉, 서로 다른 두 호스트의 IP 주소를 서브넷 마스크로 '&' 연산을 수행해서 비교하면 두 호스트가 같은 네트워크 상에 존재하는지 확인할 수 있습니다.
메서드 종류
- byte[] getAddress(): IP 주소를 byte 배열로 반환
- static InetAddress [] getAllByName(String host): 도메인명(host)에 지정된 모든 호스트의 IP주소를 배열에 담아 반환
- static InetAddress getByAddress(byte[] addr): byte배열을 통해 IP주소 획득 가능
- String getCanonicalHostName(): FQDN(fully qualified domain name)을 반환
- String getHostAddress(): 호스트의 IP주소를 반환
- String getHostName(): 호스트의 이름을 반환
- static InetAddress getLocalHost(): 지역호스트의 IP주소를 반환
- boolean isMulticastAddress(): IP주소가 멀티캐스트 주소인지의 여부
- boolean isLoopbackAddress(): IP주소가 loopback 주소(127.0.0.1) 인지의 여부
URL
인터넷에 존재하는 여러 서버들이 제공하는 자원에 접근할 수 있는 주소를 표현하기 위한 것입니다.
형식
'프로토콜://호스트명:포트번호/경로명/파일명?쿼리스트링#참조'
- 포트번호, 쿼리, 참조는 생략 가능
ex) http://www.helloworld.com:80/sample/hello.html?date=20231105#index1
- 프로토콜: 자원에 접근하기 위해 서버와 통신하는 데 사용되는 통신규약(http)
- 호스트명: 자원을 제공하는 서버의 이름(www.helloworld.com)
- 포트번호: 통신에 사용되는 서버의 포트번호(80) - HTTP 프로토콜에서는 80번 포트를 사용하기 때문에 URL에서 포트번호를 생략하는 경우 80으로 간주, 즉 각 프로토콜에 따라 통신에 사용하는 포트번호가 다르며 생략되면 각 프로토콜의 기본 포트가 사용됩니다.
- 경로명: 접근하려는 자원이 저장된 서버상의 위치 (/sample/)
- 파일명: 접근하려는 자원의 이름 (hello.html)
- 쿼리(query): URL에서 '?'이후의 부분 (date=20231105)
- 참조(anchor): URL에서 '#'이후의 부분 (index1)
메서드 종류
- URL(String spec): 지정된 문자열 정보의 URL 객체 생성
- URL(String protocol, String host, String file): 지정된 값으로 구성된 URL 객체 생성
- URL(String protocol, String host, int port, String file): 지정된 값으로 구성된 URL 객체 생성
- String getAuthority(): 호스트명과 포트를 문자열로 반환
- Object getContent()/getContent(Class [] classes): URL의 Content객체 반환
- int getDefaultPort(): URL의 기본 포트를 반환 (http는 80)
- String getFile(): 파일명 반환
- String getHost(): 호스트명 반환
- String getPath(): 경로명 반환
- int getPort(): 포트 반환
- String getProtocol(): 프로토콜 반환
- String getQuery(): 쿼리를 반환
- String getRef(): 참조(anchor) 반환
- String getUserInfo(): 사용자정보 반환
- boolean sameFile(URL other): 두 URL이 서로 같은 것인지 여부
- void set(String protocol, String host, int port, String file, String ref): URL객체의 속성을 지정된 값으로 설정
- void set(String protocol, String host, int port, String authority, String userInfo, String path, String query, String ref): URL객체의 속성을 지정된 값으로 설정
- String toExternalForm(): URL을 문자열로 변환하여 반환
- URI toURI(): URL을 URI로 변환하여 반환
[참고자료]
남궁 성, [Java의 정석 3rd Edition], 도우출판, 2016
728x90
반응형
'Java' 카테고리의 다른 글
[Multi-Thread] 쓰레드 결과 기다리기 (Future, submit(), get()) (1) | 2024.01.26 |
---|---|
자바의 직렬화 (Serialization) (0) | 2023.11.10 |
자바의 스트림(stream) (0) | 2023.11.05 |
자바의 람다(Lambda) (0) | 2023.11.01 |
volatile 키워드 (2) | 2023.10.29 |