Computer Science

• HTTP HTTP는 HyperText Transfer Protocol이다. 모든 것이 HTTP다 라는 말이 있을 정도로 HTTP는 만능이다. HTML, TEXT, IMAGE, JSON, XML (API) 등 거의 모든 형태의 데이터를 전송할 수 있고, 서버간에 데이터를 주고 받을 때도 대부분 HTTP를 사용한다. • HTTP 버전 HTTP/1.1을 가장 많이 사용하고, 가장 중요한 버전이다. TCP는 HTTP/1.1 & HTTP/2 기반이며, UDP는 HTTP/3 기반 프로토콜이다. 현재 HTTP/1.1을 주로 사용하고 점점 HTTP/2와 HTTP/3도 증가하고 있는 추세다. • Client - Server 구조(Request - Response 구조) 클라이언트는 서버에 요청을 보내고, 응답을 대기..


• URI Uniform: 리소스 식별하는 통일된 방식 Resource: 자원, URI로 식별할 수 있는 모든 것(제한 없음) Identifier: 다른 항목과 구분하는데 필요한 정보 URI는 Locator, Name 또는 둘 다 추가로 분류될 수 있다. • URL 위의 그림처럼 Scheme, 호스트명, PORT 번호, 패스, 쿼리 파라미터로 구성되어 있다. Scheme은 보통 프로토콜을 사용한다. HTTPS는 HTTP에 보안을 추가한 것이다. 그리고 원래 Host 앞에는 사용자 정보를 포함해서 인증하기 위해 Userinfo를 적어야 되는데 요즘 거의 사용하지 않는다. URL에 Host는 호스트명, 도메인명 또는 IP주소를 쓴다. HTTP는 80, HTTPS는 443 PORT 사용함. Path는 리소스의..


• 인터넷 통신 클라이언트 측에서 메시지를 인터넷 상에 흘려 보내면 노드에서 노드로 전해지는 게 반복되면서 서버에 도착함 • IP(Internet Protocol) 인터넷 통신 규약이며, 이 규약에 맞게 통신을 해야 함. 클라이언트나 서버나 각각 IP주소라는 게 부여가 되는데 이 주소를 가지고 데이터를 주고 받을 수 있다. 이 때 데이터를 주고 받는 통신의 단위는 패킷이다. *패킷: 출발지 IP, 도착지 IP, 전송 데이터, 기타 • IP 프로토콜의 한계 -비연결성: 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송 -비신뢰성: 중간에 패킷이 사라진다거나, 패킷이 순서대로 온다는 보장이 없음 -프로그램 구분: 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상인 경우에는 어떻게 처리를..