NetWork[TCP-Close]
TCP 전체 끊기 / 절반 끊기 TCP커넥션은 애플리케이션 측에서 입력 채널과 출력 채널중 하나만 끊거나 모두 끊을 수 있습니다. 모두 끊는 방법은 close()를 호출하면 모두 끊을 수 있고, 입력이나 채널중 하나만 개별적으로 끊으려고 한다면 shutdown()을 호출하면 됩니다. TCP 끊기와 리셋 에러 만약 파이프라인 지속 커넥션을 사용한다고...
TCP 전체 끊기 / 절반 끊기 TCP커넥션은 애플리케이션 측에서 입력 채널과 출력 채널중 하나만 끊거나 모두 끊을 수 있습니다. 모두 끊는 방법은 close()를 호출하면 모두 끊을 수 있고, 입력이나 채널중 하나만 개별적으로 끊으려고 한다면 shutdown()을 호출하면 됩니다. TCP 끊기와 리셋 에러 만약 파이프라인 지속 커넥션을 사용한다고...
파이프라인 커넥션(Pipelined Connections) 파이프라인 커넥션은 HTTP/1.1에서 도입된 기술로, 클라이언트가 하나의 TCP 연결을 통해 여러 요청을 순차적으로 보내면서도 각 요청에 대한 응답을 기다리지 않고 다음 요청을 계속해서 보낼 수 있게 해줍니다. 이를 통해 네트워크의 대기 시간을 줄여 성능을 향상시킬 수 있습니다. 동작 ...
지속 커넥션 웹 클라이언트는 보통 같은 사이트에 여러 개의 커넥션을 맺습니다. 서버에 HTTP 요청을 하기 시작한 애플리케이션은 웹 페이지 내의 이미지 등을 가져오기 위해 그 서버에 다시 요청을 하는데 이런 속성을 사이트 지역성 이라고 합니다. 이로 인해 HTTP/1.1 을 지원하는 기기는 TCP 커넥션을 유지하여 앞으로 있을 HTTP 요청에 재...
병렬 커넥션 병렬 커넥션은 클라이언트가 다수의 커넥션을 맺음으로써 여러 개의 HTTP 트랜잭션을 병렬로 처리할 수 있게 하는 방법입니다. 즉, 동기 처리라고 생각하시면 됩니다. 병렬 커넥션을 사용하면 다음과 같은 장점이 있습니다. 장점 페이지를 더 빠르게 내려 받습니다. 단일 커넥션의 대역폭 제한과 커넥션이 동작하고 있지 않은 시간을 활용하면 ...
Connection 헤더 HTTP 에서 Connection 헤더는 클라이언트와 서버 간의 연결을 관리하는데 주로 사용됩니다. Connection헤더는 두 개의 인접한 HTTP 애플리케이션이 현재 맺고 있는 커넥션에만 적용될 옵션을 지정해야 할 때가 있습니다. 여기서 Connection 헤더에는 3가지 종류의 토큰이 전달될 수 있습니다. HT...
HTTP는 TCP 바로 위에 있는 계층이기 떄문에 HTTP 트랜잭션의 성능은 그 아래 계층인 TCP 성능에 영향을 받습니다. HTTP 트랜잭션 지연 트랜잭션을 처리하는 시간은 클라이언트나 서버가 특정 작업(시간이 오래 걸리는 작업)을 제외하면 처리하는 시간 외에 다른 작업보다 상당히 짧다는 것을 알 수 있습니다. HTTP 트랜잭션을 지연시키는 ...
TCP는 TCP/IP 모델 계층에서 전송 계층에 속합니다. 전 세계의 모든 HTTP 통신은 패킷 교환 네트워크 프로토콜들의 계층화된 집합인 TCP/IP를 통해 이루어집니다. TCP의 장점중 하나는 순서를 유지하고, 메시지들이 손실되거나 손상없이 안전하게 전달된다는 점 입니다. 여기서 TCP는 커넥션을 맺을때 3-Way-Handshake라는 과정을...
일반 헤더 메시지에 대한 아주 기본적인 정보를 제공해주는헤더입니다. 일반 헤더는 클라이언트와 서버가 모두 사용하는 공용적으로 사용되는 헤더 입니다. Connection 클라이언트와 서버가 요청/응답 연결에 대한 옵션을 정할 수 있게 해줍니다. Date 메시지가 만들어진 날짜와 시간을 제공합니다. MIME-Version 발송자...
Dead Lock A프로세스는 자원1을 점유하고, B프로세스는 자원2를 점유 하고 있다고 가정해보겠습니다. 자원 → 하드웨어 소프트웨어 등을 포함하는 개념입니다. 프로세스가 자원을 사용하는 절차 → Request, Allocate, Use, Release A프로세스는 B프로세스가 점유하고 있는 자원2를 원하고, B프로세스는 A프로세스가 점유하...