본문 바로가기

분류 전체보기52

Persistent connection / Stateless Persistent connection HTTP 초기 버전에서는 HTTP 통신을 한 번 할 때마다 TCP 에 의해 연결을 종료할 필요가 있었다. 초기 통신은 작은 사이즈의 텍스트를 보내는 정도였기 때문에 이렇게 기능을 구현해도 문제가 없었으나, HTTP 가 널리 보급되어 감에 따라 다량의 이미지를 포함한 문서 등이 늘어나게 되었다. 하나의 HTML 에 여러 이미지가 포함되어 있는 경우 브라우저를 사용해서 리퀘스트를 하면 HTML 문서에 포함되어 있는 이미지를 획득하기 위해서 여러 리퀘스트를 송신하게 된다. 이때 리퀘스트를 보낼 때마다 매번 TCP 연결과 종료를 하게 되어 쓸모없는 통신량이 늘어났다. 이러한 문제를 해결하기 위해 HTML 1.1 버전에서는 지속연결(Persistent connection) .. 2023. 4. 6.
HTTP 메소드 HTTP 에서 사용 가능한 다양한 메소드에 대해서 알아보자. GET : 리소스 획득 GET 메소드는 리퀘스트 URI 로 식별된 리소스를 가져올 수 있도록 요구한다. 가져올 리소스 내용은 지정된 리소스를 서버가 해석한 결과이다. POST : 엔티티 전송 POST 메소드는 엔티티를 전송하기 위해서 사용된다. GET 으로도 엔티티를 전송할 수 있지만, 자주 사용하지 않고 일반적으로 POST 를 사용한다. PUT : 파일 전송 PUT 메소드는 파일을 전송하기 위해서 사용된다. FTP 에 의한 파일 업로드와 같이, 리퀘스트 중에 포함된 엔티티를 리퀘스트 URI 로 지정한 곳에 보존하도록 요구한다. 다만 HTTP/1.1 PUT 에는 인증 기능이 없어 누구든지 파일 업로드가 가능하다는 보안 문제가 있어서 일반적인 웹.. 2023. 4. 5.
HTTP HTTP 는 클라이언트와 서버간에 통신을 하는 프로토콜로 리퀘스트와 리스폰스를 교환하여 성립한다. 아래는 클라이언트 측으로부터 서버에 송신된 리퀘스트의 예시이다. GET /members/100 HTTP /1.1 Host : localhost:8080 GET 은 서버에 요구하는 메소드의 종류를 의미하며, /members/100 은 리소스를 의미한다. (이 리소스를 리퀘스트 URI 라고 한다.) 그리고 HTTP 1.1 은 클라이언트 기능을 식별하기 위한 HTTP 버전 번호이다. 즉, 여기서의 리퀘스트 내용은 HTTP 서버상에 있는 "/members/100" 이라는 리소스가 필요하다는 리퀘스트이다. 이러한 리퀘스트를 받은 서버는 리퀘스트의 내용을 처리한 결과를 리스폰스로 클라이언트에 되돌려 준다. HTTP /.. 2023. 4. 4.
URI 와 URL URI 는 Uniform Resource Identifiers 의 약자로, RFC2396 에서는 각각의 단어가 아래와 같이 정의되어 있다. Uniform 통일 (Uniformity) 된 서식을 결정하는 것으로, 여러 가지 종류의 리소스 지정 방법을 같은 맥락에서 구별 없이 취급할 수 있게 한다. 또한, 새로운 스키마 (http, ftp 등) 도입을 용이하게 한다. Resource 리소스는 식별 가능한 모든 것이라고 정의되어 있다. 도큐먼트 파일 뿐만 아니라 이미지와 서비스 등 다른 것과 구별할 수 있는 것은 모두 리소스이다. 또한 리소스는 단일한 부분만 아니라 복수의 접합도 리소스로 파악할 수 있다. Identifier 식별 가능한 것을 참조하는 오브젝트이며 식별자로 불린다. 결국, URI 는 스키마를 .. 2023. 4. 1.
IP / TCP / DNS TCP/IP 중에서 HTTP 와 관계가 깊은 IP, TCP, DNS 세 개의 프로토콜에 대해 알아보자. IP IP(Internet Protocol) 는 네트워크 계층에 해당되며, 실제 이름 그대로 인터넷을 활용하는 대부분의 시스템이 IP 를 이용하고 있다. IP 의 역할은 개개의 패킷을 상대방에게 전달하는 것이다. 상대방에게 전달하기 까지는 여러가지 요소가 필요한데, 그중에서도 IP 주소와 MAC 주소 (Media Access Control Address) 라는 요소가 중요하다. IP 주소는 각 노드에 부여된 주소를 가리키고 MAC 주소는 각 네트워크 카드에 할당된 고유의 주소이다. IP 주소는 MAC 주소와 결부되며, IP 주소는 변경 가능하지만 MAC 주소는 변경할 수 없다. IP 통신은 MAC 주소.. 2023. 3. 30.
TCP/IP 프로토콜 컴퓨터와 네트워크 기기가 상호간에 통신하기 위해서는 서로 같은 방법으로 통신이 이루어져야 한다. 예를 들면 상대를 찾고, 통신을 시작하고, 통신과정에서 어떤 언어를 사용하며, 통신을 어떤식으로 종료할지와 같은 규칙이 필요한 것이다. 이렇게 서로 다른 하드웨어와 운영체제에서 서로 통신을 하기 위해서는 모든 요소에 규칙이 필요하며, 이를 프로토콜 이라고 부른다. 프로토콜에는 여러가지 종류가 있다. 케이블 규격 및 IP 주소 지정 방법, 상대를 찾고 그곳에 도달하는 순서, 웹을 표시하는 순서 등이다. 이렇게 인터넷과 관련된 프로토콜을 모아놓은 것을 TCP/IP 라고 부른다. TCP/IP 의 계층 TCP/IP 에서 중요한 개념 중 하나가 계층 (Layer) 으로 애플리케이션, 트랜스포트, 네트워크, 링.. 2023. 3. 28.