본문 바로가기

Network3

[Network] HTTP & HTTPS HTTP(HyperText Transfer Protocol) 인터넷 상에서 클라이언트와 서버 간 자원을 주고 받을 때 쓰는 통신 규약 HTTP 문제점 HTTP는 텍스트로 교환이 이루어지기 때문에 누군가 네트워크 신호를 가로채면 내용이 노출될 수 있다(보안 문제) 이 문제를 해결한 것이 'HTTPS' 이다 HTTPS(HyperText Transfer Protocol Secure) 인터넷 상에서 정보 암호화 SSL 프로토콜을 사용해 클라이언트와 서버가 자원을 주고 받을 때 쓰는 통신 규약 공개키 암호화 방식을 사용해 텍스트를 암호화한다 HTTPS라고 무조건 안전한 것은 아니다(신뢰도 높은 CA 기업이 아닌 자체 인증서를 발급한 경우) 이때는 브라우저에서 주의 요함, 안전하지 않은 사이트 와 같은 알람을 띄운.. 2020. 9. 24.
[Network] TCP 3-way Handshake 연결 성립(Connection Establishment) 1) 클라이언트는 서버에 접속을 요청하는 SYN(a) 패킷을 보낸다. 2) 서버는 클라이언트의 요청인 SYN(a)을 받고 클라이언트에게 요청을 수락한다는 ACK(a+1)와 SYN(b)이 설정된 패킷을 발송한다. 3) 클라이언트는 서버의 수락 응답인 ACK(a+1)와 SYN(b) 패킷을 받고 ACK(b+1)를 서버로 보내면 연결이 성립(establish) 된다. 연결 해제(Connection Termination) 1) 연결이 성립된 상태이다. 2) 클라이언트가 연결을 종료하겠다는 FIN플래그를 전송한다. 2-1) 서버는 클라이언트의 요청(FIN)을 받고 확인의 의미로 ACK 메세지를 보낸다. 3) 데이터를 모두 보낼 때까지 잠깐 TIME_OUT이 .. 2020. 4. 6.
[Network] HTTP의 GET과 POST비교 GET과 POST는 둘 다 HTTP 프로토콜을 이용해서 서버에 무언가를 요청할 때 사용하는 방식입니다. 하지만 특징을 제대로 이해하고 목적에 맞게 알맞은 용도로 사용해야 합니다. GET GET 방식은 요청하는 데이터가 HTTP Request Message의 Header 부분의 url에 담겨서 전송됩니다. 그렇기 때문에 url 상에 ? 뒤에 데이터가 붙어 request를 보내게 되는 것입니다. 이러한 방식은 url 이라는 공간에 담겨가기 때문에 전송할 수 있는 데이터의 크기가 제한적입니다. 또한 보안이 필요한 데이터의 경우 데이터가 그대로 url에 노출되므로 GET 방식은 적절하지 않습니다.(ex. password) POST POST 방식의 request는 HTTP Request의 Body 부분에 데이터가.. 2020. 4. 5.