본문 바로가기

전체 글85

WAS & 웹서버(Web Server) 아파치 톰캣(Apache Tomcat)❓ 우리가 알고 있는 아파치 톰캣은 무엇인가?? 우리는 아파치 톰캣을 이용해서 웹서버를 띄우고 개발을 진행했을것이다. 그런데, 실제 일을 하게되면 tomcat과 apache를 별도로 실행해서 사용하는 경우가 대다수이다.😱 그렇다면 Apache Tomcat은 두 개의 프로그램을 합쳐놓은 것일가라는 의문이 들수 있기때문에 한번 정리를 해본다👏 Apache란❓ Apache란 것은 소프트웨어 단체 이름이다. 우리가 흔히 부르는 아파치서버라는 것은 이 제단에서 후원하는 오픈소스 프로젝트 커뮤니티에서 만든 http웹서버를 지칭하는 말이다. 아파치 HTTP서버는 HTTP요청을 처리하는 웹 서버인 것이다. 클라이언트가 GET, POST, DELETE 등등의 메서드를 이용해 요청을 .. 2021. 8. 31.
HTTP 웹 기본 지식 - HTTP 메서드 HTTP API 설계❓ 좋은 API URI 설계의 가장 중요한 것은 리소스 식별이다. 리소스라는 것은 어떤 행위를 말하는 것이 아니라, 그 행위의 주체/대상이 리소스가된다. 예를 들어 회원 등록, 회원 삭제가 리소스가 아니라 회원이라는 개념 자체가 리소스이다. API 설계 시 리소스와 행위를 분리하고, 리소스를 식별하는 것이 가장 중요하다👍 HTTP 메서드❓ HTTP의 주요 메서드는 5가지 정도 된다. GET : 리소스 조회 POST : 요청 데이터 처리, 주로 등록에 사용 PUT : 리소스를 대체, 해당 리소스가 없으면 새로 생성 PATCH : 리소스 수정(부분 변경) DELETE : 리소스 삭제 GET❓ 이름에서 알 수 있듯이 리소스를 조회하는 데 사용한다. 서버에 전달하고 싶은 데이터는 query(.. 2021. 8. 30.
HTTP 웹 기본 지식 - HTTP 기본 HTTP❓❓ HTTP는 HyperText Transfer Protocol 이다. HTTP는 초기에 문서를 전달하기 위해 고안된 프로토콜이었다. 하지만 요즘엔 거의 모든 것을 HTTP프로토콜에 담아서 보내고있다. ( HTML, TEXT, IMAGE, FILE, JSON, XML 등등 ) HTTP/1.1 버전이 가장 많이 사용되고, 가장 중요한 버전이다. 기능의 대부분은 1.1버전에서 만들어졌고, 이후에 나오는 HTTP/2, HTTP/3버전은 거의 성능개선에 초점이 맞춰져있다. TCP : HTTP/1.1, HTTP/2 (HTTP/1.1 과 HTTP/2 는 TCP프로토콜 위에서 동작을 한다. UDP : HTTP/3 (HTTP/3는 UDP프로토콜을 기반으로 개발되었다.) HTTP의 4가지 특징 클라이언트 - 서.. 2021. 8. 27.
HTTP 웹 기본 지식 - URI와 웹 브라우저 요청 흐름 URI(Uniform Resource Identifier)❓ URI? URL? URN? 세 가지의 차이점은 무엇일까🤔🤔 URI가 가장 큰 개념이다. 여기서 I는 Identifier로 식별의 의미로, 리소스 즉 자원을 식별할 수 있는 형태를 의미한다. URI안에는 URL과 URN이 존재하는데, L은 Locator(위치)를 의미해서 리소스가 존재하는 위치를 의미하고, N은 Name 말 그대로 리소스의 이름을 의미한다. URN은 사실상 구분하기가 어렵기때문에 거의 URL을 사용한다고 보면 된다. URL의 기본 구조❓ scheme://[userinfo@]host[:port][/path][?query][#fragment] https://www.google.com/search?q=hello&hl=ko ※ useri.. 2021. 8. 24.
HTTP 웹 기본 지식 - 인터넷 네트워크 인터넷 통신❓ 클라이언트와 서버가 통신할 때 인터넷을 통해서 메세지를 주고받는다. 인터넷 망을 통해 메세지를 보내야 하는데 인터넷은 그냥 단순하지 않다. 인터넷망에 존재하는 수많은 노드들을 거쳐서 메세지가 전달되게 된다. (여기서 노드는 클라이언트와 서버 사이에 존재하는 중계 서버(라우터)정도로 생각하면 된다.) 이 메세지가 전달될 때 어떤 규칙으로, 어떠한 방법으로 넘어가는지 알아야 한다. 이 규칙을 알기 위해 IP(인터넷 프로토콜)을 이해해야 한다. IP(인터넷 프로토콜)❓ 클라이언트와 서버가 통신을 하기 위해서 일단 IP주소를 할당받아야 한다❗ 인터넷 프로토콜은 지정한 IP주소에 데이터를 전달할 수 있도록 하는 규칙(규약)이다. 이때 데이터는 패킷이라는 단위로 전달하게 된다. IP 패킷에는 출발지I.. 2021. 8. 24.
스프링부트+JPA - 9편 ( 소켓통신과 HTTP통신 ) 소켓(Socket)통신❓ Socket이란 운영체제가 가지고 있는 것이다. A라는 서버와 B라는 클라이언트가 메세지를 교환하기 위해서 이 운영체제가 제공해주는 소켓을 이용한다. A와 B가 메세지를 교환하기 위해 A가 소켓을 오픈한다. 통신을 위해 이 오픈한 소켓의 포트(port) 번호가 필요하다❗ 이 포트번호를 5000번이라고 가정해보자👍 A의 IP주소와 5000번 포트를 입력하면 A와 5000번 포트를 통해 통신할 수 있게 된다. 문제는 새로운 클라이언트 C가 들어왔을 때 발생한다. 이미 B가 5000번 포트와 연결되어 통신하고 있기 때문에 C는 5000번 포트를 사용할 수 없다. 이런 문제를 해결하기 위해 최초의 5000번 포트는 연결의 용도로만 이용한다. 연결이 되는 순간 새로운 소켓을 만들어서 클라.. 2021. 8. 23.
반응형