Q1. HTTP의 GET vs POST ?
- get과 post 모두 http 프로토콜을 이용하여 서버에 무엇을 요청할 때 사용하는 방식입니다.
1) GET: 요청하는 데이터가 HTTP request message 의 header 부분의 url에 담겨서 전송되기 때문에 데이터의 크기가 제한적이며 오청하는 뎅터가 url에 고스란히 보이므로 보안이 중요시되는 요청은 자제하는 것이 좋습니다.
2) POST: 요청하는 데이터가 HTTP request message 의 body 부분에 담겨서 전송되는 방식이기 때문에 데이터의 크기가 get보다 크지만 보안 면에서 좋습니다.
Q2 . OSI 7 계층은 무엇이고 존재 이유?
- OSI 7 계층은 통신 접속에서 완료까지의 과정을 7단계로 정의한 국제 통신 표준 규약입니다. OSI 7 계층을 사용할 때 통신이 일어나는 과정을 단계별로 파악하기에 용이하여 문제가 발생한 부분을 쉽게 찾을 수 있습니다.
Q3. UDP와 TCP 를 비교 ?
- UDP 는 전송계층의 비연결형 프로토콜로 상대방이 손상된 세그먼트를 수신하더라도 재전송을 하지 않는 다는 특징이 있습니다.
반면에 TCP는 전송이 양방향으로 일어나는 전이증과 각 연결이 정확히 2개의 종단점을 가지는 점대점이라는 특징이 있습니다.
- TCP 에서 연결설정은 TCP 3-way handshake에 의하여 행해집니다.
Q4. TCP 3-way handshake ?
- 클라이언트와 서버가 통신하기 위해 다음처럼 3단계의 가정을 거칩니다.
💡 SYN(client) -> SYN+ACK(server -> ACK(client)
1) 우선 클라이언트가 서버에 접속을 요청하는 SYN패킷을 보냅니다.
2) 그 후 서버가 클라이언트로부터 SYN패킷을 받으면 서버에는 클라이언트에게 요청을 확인했다는 ACK패킷을 보내고 SYN패킷을 보내어 어 클라이언트가 응답하길 기다립니다.
3) 클라이언트는 서버로부터 ACK패킷을 받으면 이후부터 연결이 이루어지고 데이터가 오가게 됩니다.
Q5. HTTP vs HTTPS ?
- http 는 hypertext transfer protocol의 약자로 html을 전송하기 위한 통신 규약을 의미합니다. 이 http의 특징은 평문 통신이므로 도청을 당할 경우 해당 의미를 파악당할 수 있으며 통신상대를 확인하지 않으므로 위장이 가능하다는 보안에 취약점이 존재합니다.
이를 위해 http 와 ssl프로토콜을 합친 https 프로토콜을 사용합니다.
- http는 tcp와 직접 통신하여 도청이 가능했지만 https프로토콜은 https에서 http는 ssl과 통신하고 ssl이 tcp와 통신하므로 모든 http요청과 응당 데이터는 네트워크로 보내지기 전에 암호화됩니다.(TCP/IP 특성상 도청이 가능합니다.)
Q6. 인터넷 주소창에 url을 검색하면 어떤 방식으로 통신이 이루어지는가 ?
- 1) 브라우저
- 브라우저는 url에 입력된 값의 의미에 따라 HTTP 요청 메시지를 만듭니다.
- 그 후 만들어진 메시지를 웹서버로 전송합니다.
- 이때 메시지 전송은 브라우저가 직접하지 않고 운영체제에 부탁합니다.
- 부탁받은 운영체제는 DNS 서버를 조회해서 메시지를 보내야 할 IP 주소를 지정합니다.
2) 프로토콜 스택과 LAN 어댑터
- 프로토콜 스택과 LAN어댑터에서 브라우저로 부터 메시지를 받은 후 그 메시지를 패킷 속에 저장합니다.
- 패킷 속에 수신처 주소 등의 제어정보를 덧붙인 후 LAN어댑터에 넘깁니다.
- LAN어댑터는 패킷을 전기신호로 변환시켜 LAN 케이블에 송출시킵니다.
3) 허브, 스위치, 라우터
'OS' 카테고리의 다른 글
[개발상식] 안드로이드 기술면접 준비 - 1 (0) | 2022.11.06 |
---|---|
[개발상식] IT 기술면접 준비 - 4 (데이터 베이스) (0) | 2022.10.25 |
[개발상식] IT 기술면접 준비 - 3 (컴퓨터 구조) (0) | 2022.10.24 |
[개발상식] IT 기술면접 준비 - 3(운영체제) (0) | 2022.10.23 |
[개발상식] IT 기술면접 준비 - 1(개발 상식) (0) | 2022.10.21 |