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(서버에러) : 서버사정으로 에러가 발생한 경우를 의미
학습 단계로 잘못된 정보가 있을 수 있습니다. 잘못된 부분에 대해 알려주시면 정정하도록 하겠습니다.
'이것저것 스터디📚 > CS 스터디' 카테고리의 다른 글
Keep-Alive 헤더 (0) | 2023.09.25 |
---|---|
HTTP 1.0과 HTTP 1.1의 차이 (0) | 2023.09.18 |
3-way handshake, 4-way handshake (0) | 2023.09.11 |
TCP와 UDP (0) | 2023.09.11 |
'www.google.com'을 브라우저에 입력하면 일어나는 일 (0) | 2023.09.04 |