TCP통신방식으로 put전송을 구현하는 방법을 알고 싶습니다.

구글링을 해도 계속 http 방식으로만 검색이 되네요
혹시 json 으로 restful 하게 전송 (이때 method 를 put 으로 )
하는 것을 말하는 건가요?

참고로 PHP 할땐 CURL 을 이용하여 그런식으로 (put 은 안해봤지만) json으로 컨텐트타입을 json으로
하여 json 데이타를 보낸 경험이 있는데

같은 개념인지요? 그런데 이건 restful 전송방식은 http(s) 만 가능하지 않나요?

혹시 SQL SERVER 간 데이타 연동방식이 TCP 방식인가요?

1개의 좋아요

HTTP 프로토콜에 대해 공부를 대략적으로 하시면 해결되실 것 같습니다


위의 글은 밖에 있어서 모바일로 답변 드리다 보니 답변이 좀 짧았습니다.

TCP 통신으로 PUT 전송을 구현하는 방법에 대해 질문하신 의도는, 기 구현된 라이브러리를 이용하지 않고 TCP 소켓 연결로 바로 PUT 전송을 하고자 하는 의도이신지 여쭙고 싶습니다.

PUT 전송이라 함은 아마도 HTTP 프로토콜의 PUT 메소드를 말씀하신 것 같습니다. 그러므로 당연히 HTTP 프로토콜을 사용해야 합니다. 그러므로 가장 쉽게 구현할 수 있는 방법은 잘 구현된 HTTP 라이브러리를 이용해 PUT메소드로 요청하면 되고요,

만약 스스로 TCP 소켓 연결을 통해 HTTP PUT 요청을 하는것이 목적이시라면 HTTP 프로토콜을 분석을 좀 하신 뒤, 동일하게 패킷을 생성해서 전송하면 잘 동작하게 됩니다. 이유는 HTTP 역시 TCP 기반이기 때문이에요.

HTTP 프로토콜은 생각보다 기본 기능은 구조가 단순합니다. 심지어 헤더 정보나 메소드 등 기본적인 형태가 텍스트 입니다. 요청의 구조가 단순하다면 정말 쉽게 패킷을 보낼 수 있습니다. 하지만 HTTPS를 직접 TCP 소켓으로 처리하려면 보안을 위한 핸드쉐이킹을 직접 처리해야 하므로 일반적으로 더 어렵습니다.

RESTful한 REST API는 HTTP 프로토콜에 종속적인 아키텍처는 아니나 HTTP 프로토콜을 사용하는것을 염두해 두고 디자인 됐고 실제로 HTTP 프로토콜을 사용합니다. 기본적인 GET, POST, PUT, DELETE 메소드가 HTTP 프로토콜의 메소드와 동일하기 때문이기도 하고 URI가 곧 자원의 경로가 되기 때문입니다.

SQL SERVER간 연결은 연결된 서버를 말씀하시나요? 이것은 공급자에 따라(다양한 연결 방식 가능) 다릅니다.

4개의 좋아요