ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Web Programming] Web의 동작, HTTP 프로토콜
    IT/개발(자바, 서블릿, 스프링 등) 2019. 10. 28. 11:36

    내 컴퓨터와  이웃의 컴퓨터는 네트워크로 연결되어 있다.

    네트워크를 이용한 서비스를 인터넷 서비스라고 한다.

    인터넷 기반 서비스 중 가장 대표적인 것이 WWW(World Wide Web, 줄여서 웹).

    그 외 인터넷 기반 서비스로 E-MAIL, Telnet(원격접속), FTP(파일송수신) 등이 있다.

     

     

    네트워크 기초

    프로토콜

    약속. 통신규약. 엄격한 형식을 지켜야 네트워크상에서 통신 가능.

    ex) Http(Hyper Text Transfer), FTP(File Transfer), SMTP(Simple Mail Transfer), POP(Post Office), DHCP(Dynamic Host Configuration)

    IP 네트워크상에서 컴퓨터를 식별할 수 있는 주소.
    DNS(Domain Name System) server IP주소와 문자열 매핑, ip 주소를 몰라도 도메인 이름으로 접속.
    PORT 해당 컴퓨터의 프로그램을 구분해줌.
    URL(Uniform Resource Locator)

    인터넷상에서 자원의 위치.

    하나의 파일 위치.

    URI(Uniform Resource Identifier)

    인터넷상에서 자원의 식별자.

    id 값에 따라서 여러가지 결과. 

    URL을 포함하는 개념.

     

    ex) http://www.test.co.kr/test/test.html

    URL(O) URI(O)

     

    ex) http://www.test.co.kr/test/test.html?id=1 

     URL(X) URI(O) 

     

    헷깔린다면, 그냥 URI라고 할 것.ㅎㅎ

     

    접근프로토콜://IP주소||도메인이름:포트번호/문서경로/문서이름

    http            ://www.test.com       :80        /test       /test.html

     

    인터넷 기반 서비스

    이름 프로토콜 포트 기능
    WWW

    HTTP(Hypertext Transfer)

    80 웹 서비스
    Email

    SMTP(Simple Mail Transfer),

    POP3(Post Office)

    25/110 이메일 송수신 서비스
    FTP FTP(File Transfer) 21 파일 전송 서비스
    DNS(Domain Name System) TCP/UDP 53 도메인 이름과 IP주소를 매핑해주는 서비스

     

    HTTP 프로토콜은 서버/클라이언트 모델을 따른다.

     

    클라이언트가 서버에게 요청(Request)하여, 서버가 클라이언트에게 응답(Response)한다.

    그전에 클라이언트와 서버는 연결(Connect)된다.

    요청과 응답이 끝난 후, 연결은 끊어진다.(무상태, Stateless) 이전의 정보가 전부 사라지기 때문에 이를 보완하기 위하여, 쿠키와 캐시의 개념이 등장했다.

     

     

    출처: https://www.edwith.org/boostcourse-web/lecture/16661/

     

    요청헤더 GET 요청 메서드 : GET, PUT, POST, PUSH, OPTIONS 등의 요청 방식.
    /servlet/query?a=10&b=90 요청 URI : 요청하는 자원의 위치를 명시.
    HTTP/1.1 HTTP 프로토콜 버전 : 웹 브라우저가 사용하는 프로토콜 버전.
    Host: www.sk.com  
    User-agent: mozilla/4.0  
    Accept-language: kr  
    요청바디 null POST나 PUT일 경우에 요청바디가 존재

     

    응답헤더 HTTP/1.1 HTTP 프로토콜 버전 : 웹 브라우저가 사용하는 프로토콜 버전.
    200 응답 코드
    OK 응답 메시지
    Date: Thu, 03 jul 2003 12:00:15 GMT 응답 시간
    Server: Apache/1.3.0 (Unix) 웹서버 이름과 버전
    Content-Length: 6821 컨텐트 길이
    Content-Type: text/html 컨텐트 타입
    응답바디

    <html>

    .....

    </html>

    응답 결과

    요청 메서드 정리.

    • GET : 정보를 요청하기 위해서 사용한다. (SELECT)
    • POST : 정보를 밀어넣기 위해서 사용한다. (INSERT)
    • PUT : 정보를 업데이트하기 위해서 사용한다. (UPDATE)
    • DELETE : 정보를 삭제하기 위해서 사용한다. (DELETE)
    • HEAD : (HTTP)헤더 정보만 요청한다. 해당 자원이 존재하는지 혹은 서버에 문제가 없는지를 확인하기 위해서 사용한다.
    • OPTIONS : 웹서버가 지원하는 메서드의 종류를 요청한다.
    • TRACE : 클라이언트의 요청을 그대로 반환한다. 예컨데 echo 서비스로 서버 상태를 확인하기 위한 목적으로 주로 사용한다.

     

    https 는 http보다 보안성이 강화된 인터넷 프로토콜이다.

    SSL Certificates를 기본적으로 요구함으로써 http에 비해 보안성이 강화되었다.

    때문에 보안 이슈가 생길 수 있는 private한 정보를 취급하는 웹사이트에서 널리 쓰이고 있다.

    포트는 443포트를 사용하며, 전자상거래 등에 널리 사용되고 있다.

     

     

     

     

     

    참고

    https://lambdaexp.tistory.com/39

    https://www.edwith.org/boostcourse-web/lecture/16661/

Designed by Tistory.