HTTPS 는 HTTP 에 보안을 추가한 것으로 S는 Over Secure Socket Layer의 약자이다. 말그대로 SSL(Secure Socket Layer) 프로토콜 위에서 HTTP 를 사용하는 것이다. SSL은 네스케이프에서 발명되어 IETF의 관리로 변경되면서 TLS로 이름이 변경되었다.SSL은 대칭키와 공개키 암호화 방식을 혼용해서 사용한다. 간단히 설명하면 공개키 방식을 통해 대칭키를 주고받고 실제 통신은 대칭키를 사용하게 된다. 이는 공개키 방식은 대칭키에 비해 안전한 반면 암복호화가 느리고 대칭키는 덜 안전한 반면 암복호화가 빠르기 때문이다.SSL 인증서는 서버가 신뢰있는 서버임을 보장하고 SSL 통신에 사용할 공개키를 클라이언트에게 제공하는 역할을 한다.CA(Certificate au..
TCP는 연결이 완료된 후에 데이터를 주고 받지 않으면 아무런 데이터도 오가지 않는다. 이는 중계 라우터 장애 등 예상치 못한 장애로 인해서 연결이 끝기더라도 양쪽에서는 이를 감지하지 못하고 연결 상태를 유지할 수 있다.여기서 사용할 수 있는 기능이 keepalive이며 이 기능은 종단 시스템 중 하나가 다운됐을 때 한 쪽만 열린 상태를 막기 위함이다.setsockopt()를 사용하여 SO_KEEPALIVE 옵션을 사용하면 되며 tcp_keepalive_interval로 지정된 시간 동안 유휴 상태가 되었을 때 이를 상태를 확인하기 위해서 keepalive 패킷을 보내게 된다. 이 패킷에 응답이 없을 경우 연결을 종료하게 되는데 이 기능은 옵션이므로 상황에 따라 작동하지 않을 수 있다.
RESTful API(이하 rest)는 client, server 구조로 client가 서버의 자원을 HTTP를 사용하여 손쉽게 접근할 수 있게 해준다.URL : Resource HTTP Method : 자원을 어떻게 사용할 것인가(행동) Response : 응답Resource - 자원은 상위에서 하위로 표현하며 명사형과 하위를 포함하는 자원일 경우 복수형을 사용한다.- 새로운 버전을 위한 Controller로 Response 분리 또는 Reverse Proxy를 이용하여 서버를 물리적으로 분리 sub domain을 쓸 수 있다면 => GET http://api.fakehost/v1/things sub domain을 쓸 수 없다면 => GET http://fakehost/api/v1/things- Met..