웹의 동작(HTTP프로토콜 이해)

사과="apple"·2021년 1월 19일

인터넷 & 포트번호

  • 포트번호는 전혀 신경쓰지 않았었는데, 지난 번 프로젝트를 할 때 포트번호를 지정하고 특정 포트번호가 특정 기능을 하는 것을 보고 난 뒤로는 포트번호도 의미가 있다는 것을 알았다. 그래서 캡쳐


HTTP

서버와 클라이언트가 인터넷상에서 데이터를 주고 받기 위한 프로토콜(protocol)
(현재 버전 2까지 나왔는데 부스트코스 풀스택 과정에서 현재 가장 많이 사용되는 1.1 기준으로 다룬다고 함.)

  1. 클라이언트가 서버한테 요청을 보냄.
  2. 요청을 서버가 클라이언트에게 응답을 보냄.

HTTP를 '무상태 프로토콜'이라고도 함.

연결을 끊어버림. 이게 불특정 다수를 대상으로 하는 서비스에는 적합하나, 바로 연결을 끊어버려서 방금 요청한 클라이언트인지 아닌지 알 수 가 없음.

연결 - 요청 - 응답 - 연결종료

요청 메서드 : GET, PUT, POST, PUSH, OPTIONS 등의 요청 방식이 온다.
요청 URI : 요청하는 자원의 위치를 명시한다.
HTTP 프로토콜 버전 : 웹 브라우저가 사용하는 프로토콜 버전이다.

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

개인적 경험

프로젝트 진행 때 GET과 POST 때문에 고생을 했었다. 당시 백엔드 파트를 담당한 친구와 얘기를 했을 때 "인터넷이나 책에서는 간단한 요청, 응답정도는 GET도 충분히 가능하다. 굳이 POST를 안써도 된다"고 확인을 해서 GET으로만 썼는데 계속 값을 못받아왔고 후에 이를 POST로 바꾸니까 정상적으로 잘 처리됐다.


※ 본 게시글은 'BoostCourse 웹프로그래밍(풀스택)' 강의와 여러 자료를 참고하여 정리한 내용입니다.

profile
디자인과 쇼핑몰을 지나 개발자로

0개의 댓글