Networks/Streamlit&Crawling

SK networks AI Camp - 통신 프로토콜

코딩하는 Español되기 2024. 7. 23. 18:30

크롤링을 2일 간 진행하기에 몇몇 파트를 스킵하면서 하였지만

시간이 촉박함에도 통신 프로토콜에 관하여 배웠어요.

크롤링을 할 때 통신 프로토콜에 관하여 아는 것이 중요한 것이죠.

 

통신 프로토콜

○ 예시

    ● HTTP : Hyper Text Transfer Protocol

    ● HTTPS : Hyper Text Transfer Protocol Secure

    ● FTP : File Transfer Protocol

    ● SMTP : Simple Mail Transfer Protocol

    ● SSH : Secure Shell

 

○ HTTP Protocol

    ● 작동 방식

        - HTTP는 서버/클라이언트 모델을 따름

        - 클라이언트(브라우저)에서 요청(Request)을 보내면 서버는 요청을 처리해서 응답(Response)

    ● Client

        - URL를 이용해 서버에 접속하고 데이터 요청 가능

    ● Server

        - 요청을 받아, 해석하고 응답을 하는 소프트웨어가 설치된 컴퓨터 등(= 서버 소프트웨어)

        - Web server : 보통 표준포트인 80번 포트로 서비스

    ● 특징

        - Connectionless Protocol(비연결 지향)

          : Client가 Server에 요청을 했을 때, 그 요청에 맞는 응답을 보낸 후 연결을 끊는 방식

        - Stateless Protocol

          : 커넥션을 끊는 순간 Client-Server 통신이 끝나며 상태 정보는 유지하지 않는다.

            Client와 첫 번째 통신에서 데이터를 주고받았다 해도, 두 번째 통신에서 이전 데이터 유지 X

            But, 실제로는 데이터 유지가 필요한 경우 多

URL(Uniform Resource Locators)

○ Method

    ● 요청의 종류를 서버에게 알려주기 위해서 사용

    ● 종류

        - GET : 정보 요청 (SELECT)

        - POST : 정보 밀어넣기 (INSERT)

        - PUT : 정보 업데이트 (UPDATE)

        - DELETE : 정보 삭제 (DELETE)

 

응답코드/상태코드

상태 코드는 3자리 숫자로 만들어져 있으며, 첫 번째 자리는 1 ~ 5까지 제공

○ 첫번째 자리가 4 | 5인 경우 정상 상황이 아니기 때문에 사이트 관리자가 즉시 알아야 하는 정보

    ● 1XX(정보) : 요청을 받았으며 프로세스 계속 진행

    ● 2XX(성공) : 요청 정상 승인

    ● 3XX(리다이렉션) : 요청 완료를 위한 추가 작업 필요

    ● 4XX(클라이언트 오류) : 문법오류 | 요청 처리 불가

    ● 5XX(서버 오류) : 유효한 요청에 Server가 충족 실패

 

HTTPS Protocol

○ HTTP

    ● 인터넷 상에서 정보를 주고받기 위한 Protocol(= 규칙)

    ● 암호화되지 않은 방법으로 데이터 전송(악의적 감청, 데이터 변조 위험)

○ HTTPS(Hyper Text Transfer Protocol Secure)

    ● 보안이 강화된 HTTP

    ● 모든 HTTP 요청과 응답 데이터는 네트워크로 보내기 전에 암호화

    ● HTTPS는 HTTP하부에 SSL과 같은 보안 계층을 제공함으로 동작

* SSL, TLS: 네트워크를 통해 작동하는 서버, 시스템 및 응용프로그램 간 인증 및 데이터 암호화 제공 프로토콜

 크롤링을 할 경우에 알아야 하는 부분이기에

시간이 촉박함에도 중요한 부분만 하고 넘어갔습니다.

시간이 된다면 네트워크 부분은 따로 포스팅 해볼게요.