본문 바로가기

이것저것 스터디📚/CS 스터디

HTTP 프로토콜

HTTP(Hypertext Transfer Protocol)

- 인터넷상에서 데이터를 주고 받기 위한 서버/클라이언트 모델을 따르는 프로토콜이다.

- OSI 7계층의 애플리케이션 레벨의 프로토콜로 TCP/IP 위에서 작동한다.

- HTML 문서, 이미지, 동영상, 오디오 등 어떤 종류의 데이터든지 전송할 수 있도록 설계되어 있다.

- "링크기반으로 데이터에 접속하겠다"는 의미이다.

 

작동방식

- HTTP는 서버/클라이언트 모델을 따르는데, 클라이언트에서 요청을 보내면 서버에서 응답하는 형태이다.

- 클라이언트는 URI를 이용해서 서버에 접속하고 데이터를 요청한다.

- 웹서버는 보통 표준포트인 80번 포트로 서비스한다.

 

Connectionless & Stateless

- HTTP는 Connectionless & Stateless 방식으로 작동한다.

- 즉, 서버에 연결하고 요청해서 응답을 받으면 연결을 끊는다.

- 불특정 다수를 대상으로 하는 서비스에 적합하다.(접송유지를 최소한으로 할 수 있기 때문)

- 서버는 클라이언트의 이전 상태를 알수가 없는 단점이 있다.

- 예를들어, 클라이언트가 과거에 로그인을 성공하더라도 로그 정보를 유지할 수가 없다.

- 이를 위해 HTTP는 쿠키를 이용해서 문제 해결을 하고 있다.

 

HTTP 메서드

- GET : 정보를 요청하기 위해서 사용한다.(SELECT)

- POST : 정보를 밀어넣기 위해서 사용한다.(INSERT)

- PUT : 정보를 업데이트하기 위해서 사용한다.(UPDATE)

- DELETE : 정보를 삭제하기 위해서 사용한다.(DELETE)

 

응답코드

- 2xx(성공) : 서버가 요청을 성공적으로 처리했음을 의미

- 3xx(리다이렉션): 완전한 처리를 위해서 추가 동작이 필요한 경우를 의미. 서버의 주소 또는 요청한 URI의 웹 문서가 이동되었으니 그 주소로 다시 시도하라는 의미

- 4xx(클라이언트 에러) : 클라이언트 요청에 오류가 있음을 의미

- 5xx(서버에러) : 서버사정으로 에러가 발생한 경우를 의미

 


학습 단계로 잘못된 정보가 있을 수 있습니다. 잘못된 부분에 대해 알려주시면 정정하도록 하겠습니다.

참고 : https://shlee0882.tistory.com/107

'이것저것 스터디📚 > CS 스터디' 카테고리의 다른 글

HTTP 1.0과 HTTP 1.1의 차이  (0) 2023.09.18
Proxy와 Reverse Proxy의 차이는?  (0) 2023.09.18
3-way handshake, 4-way handshake  (0) 2023.09.11
MTU  (0) 2023.09.11
TCP 헤더  (0) 2023.09.11