시작하기, 뭐든

JAVA 기초 면접 준비1 - HTTP/HTTPS 포트번호, HTTP 메소드,래퍼 클래스, 박싱/언박싱 본문

카테고리 없음

JAVA 기초 면접 준비1 - HTTP/HTTPS 포트번호, HTTP 메소드,래퍼 클래스, 박싱/언박싱

Gascon 2022. 2. 5. 17:22

1. HTTP/HTTPS 기본 포트번호는?

- HTTP : 80
- HPPTS : 443

먼저, 간단하게 IP/PORT 번호가 뭔지 알고 넘어가자.

- IP 주소 : 장치들마다 부여되는 고유 주소

- PORT : 운영체제 통신에서의 종단점

            쉽게 말해서, 컴퓨터 안에서 실행되고 있는 서버를 구분하기 위한 번호라고 생각하면 된다.

 

기본 포트번호 알아본 김에, Well-Known_Port 번호를 알아보자.

(RFC는 포트 번호를 지정해둔 문서 번호라고 생각하면 될듯..?)

PORT  TRANSPORT PROTOCOL ERVICE NAMERFC
20, 21 TCP File Transfer Protocol (FTP)
FTP 데이터 전송(20)/ FTP 데이터 전송 제어(21)
RFC 959
22 TCP and UDP Secure Shell (SSH) RFC 4250-4256
23 TCP Telnet RFC 854
25 TCP Simple Mail Transfer Protocol (SMTP)
메일 메세지 전송 프로토콜
RFC 5321
53 TCP and UDP Domain Name Server (DNS)
DNS 질의 응답
RFC 1034-1035
67, 68 UDP Dynamic Host Configuration Protocol (DHCP) RFC 2131
69 UDP Trivial File Transfer Protocol (TFTP) RFC 1350
80 TCP HyperText Transfer Protocol (HTTP)
웹 페이지
RFC 2616
110 TCP Post Office Protocol (POP3) RFC 1939
119 TCP Network News Transport Protocol (NNTP) RFC 8977
123 UDP Network Time Protocol (NTP) RFC 5905
135-139 TCP and UDP NetBIOS RFC 1001-1002
143 TCP and UDP Internet Message Access Protocol (IMAP4)
POP3와 기본적으로 같으나, 메일을 읽고 난 후에도 서버에 메일이 유지
RFC 3501
161, 162 TCP and UDP Simple Network Management Protocol (SNMP) RFC 1901-1908, 3411-3418
179 TCP Border Gateway Protocol (BGP) RFC 4271
389 TCP and UDP Lightweight Directory Access Protocol RFC 4510
443 TCP and UDP HTTP with Secure Sockets Layer (SSL) RFC 2818
500 UDP Internet Security Association and Key Management Protocol (ISAKMP) / Internet Key Exchange (IKE) RFC 2408 - 2409
636 TCP and UDP Lightweight Directory Access Protocol over TLS/SSL (LDAPS RFC 4513
989/990 TCP FTP over TLS/SSL RFC 4217

출처 : https://ipwithease.com/common-tcp-ip-well-known-port-numbers/

 

 

2. HTTP 메소드 종류는 어떤 것이 있는가?

메소드 설명
POST (CREATE) 특정 리소스에 엔터티를 서버에 제출. 메세지 바디를 통해 데이터가 들어간다.
GET (READ) 특정 리소스 조회. 데이터를 받기만 하는 메소드
PUT 특정 리소스를 현재 값으로 생성하거나 덮어쓰기
DELETE (DELETE) 특정 리소스 삭제

가장 많이 사용하는? 유명한? 4가지가 있고, 추가적으로 더 알아보자.

메소드 설명
HEAD GET 메서드와 동일하지만, 헤더 정보 이외에 어떤 정보도 보내지 않음.
CONNECT 웹 서버에 프록시 기능을 요청할 때 사용

OPTIONS 해당 메소드를 이용해 시스템에서 지원되는 메소드 종류를 확인
TRACE 원격지 서버에 루프백 메시지를 호출

참고 : https://gyrfalcon.tistory.com/entry/HTTP-%EC%9D%91%EB%8B%B5-%EC%BD%94%EB%93%9C-%EC%A2%85%EB%A5%98-HTTP-%EB%A9%94%EC%86%8C%EB%93%9C-%EC%A2%85%EB%A5%98

 

 

3. Primitive 타입과 Reference 타입의 차이란?

- 기본형 타입

Primitive Type(기본형 타입) : 사전에 정의해 놓은 데이터 타입/ 자바 언어에 내장된 기본 유형

-실제 값을 저장하는 공간으로 런타임 Stack 메모리에 저장
-Wrapper Class는 기본형 타입을 클래스로 만든 것
-기본값이 존재하기 때문에 Null이 존재하지 않음

 

- 참조형 타입

Reference Type(참조형 타입) : 기본형 타입을 제외한 모든 타입

-실제 값이 아닌 값이 저장된 주소값을 저장, 가비지 컬렉션 Heap 메모리에 저장
-빈 객체를 의미하는 Null이 존재

 

참조란?

인스턴스의 주소값을 이용해 인스턴스를 사용 및 접근하는 것

참고 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=highkrs&logNo=220245599686

        https://nowonbun.tistory.com/303

        http://www.tcpschool.com/java/java_array_memory

 

4. Wrapper Class와 Boxing/UnBoxing이란?

 

- Wrapper Class

기본 타입의 데이터를 객체로 만들어주는, 포장해주는 클래스

한마디로, 기본형을 객체로 만들어주는 클래스!

- Wrapper Class 사용하는 이유

자바 util, Collection에서는 객체만 사용할 수 있다.

//Collection에서는 객체타입밖에 사용할 수 없기 때문에 오류남.
HashMap<String, int> map = new HashMap<String, int>();

//Collection에서는 객체타입을 사용해야함.
HashMap<String, Integer> map = new HashMap<String, Integer>();

이 외에도 객체타입만 가능한 메소드를 사용하는 경우에도 사용한다.

 

-Boxing/UnBoxing

Boxing : 기본 타입의 데이터를 래퍼 클래스로 변환

UnBoxing : 래퍼 클래스에 저장된 값을 다시 기본 타입의 데이터로 꺼내는 것

 

- AutoBoxing/AutoUnBoxing

박싱, 언박싱을 자동으로 해주는 것

JDK `.5부터는 자바 컴파일러가 자동으로 박싱, 언박싱 해주는 것도 알아둘 필요가 있다.

Comments