-
네이버 부스트코스 웹 백엔드 - Web 개발의 이해(HTTP)개발 공부 2023. 10. 31. 22:20
[인터넷 네트워크 통신의 이해]
- TCP/IP 통신으로 이루어짐
[HTTP(Hypertext Transfer Protocol)]
- 서버와 클라이언트가 인터넷 상에서 데이터를 주고 받기 위한 프로토콜
[HTTP 작동방식]
- 서버/클라이언트 모델을 따름
- 클라이언트에서 서버에게 요청을 보내고, 서버는 그 요청을 받아 클라이언트에게 응답을 보냄
응답한 이후 서버는 연결을 바로 끊음
- 무상태(Stateless) 프로토콜이라고도 함
계속 연결을 하고 있는 상태가 아님
- 불특정 다수를 대상으로 하는 서비스에 적합
- 서버-클라이언트 최대 연결수보다 훨씬 많은 요청과 응답 처리 가능
- 연결 끊기 떄문에 클라이언트의 이전 상황 알 수 없음. 정보 유지를 위해 Cookie 사용
[URL(Uniform Resource Locator)]
- 인터넷 상의 자원 위치
- 특정 웹 서버의 특정 파일 접근 위한 경로 또는 주소
- 프로토콜://IP 또는 도메인 주소/문서의 경로/문서 이름
- 하나의 물리적 컴퓨터에 여러 소프트웨어 서버접속이 가능하나, 이를 위해선 각각 다른 포트번호 필요
[실제 웹 동작 방식]
1. 클라이언트 -> 웹서버 Connect
2. 클라이언트 -> 웹서버 Request
1) HTTP 요청 메시지
- 요청헤더
- 요청메서드(GET/POST/PUT 등)
- 요청 URL
- HTTP 프로토콜 버전
2) 요청 바디 (요청 메서드가 GET이면 비어있음)
3. 웹서버 -> 클라이언트 Response
1) HTTP 응답 메시지
- 응답헤더
- 응답HTTP 프로토콜 버전
- 응답코드
- 응답메시지
- 날짜, 웹서버 이름 버전, 콘텐츠 타입, 캐시제어방식, 콘텐츠 등
2) 응답바디 (HTTP Source)
4. Connect Close
[요청 메서드에 쓰이는 요청 방식]
- GET : 정보를 요청하기 위해서 사용한다. (SELECT)
- POST : 정보를 밀어넣기 위해서 사용한다. (INSERT)
- PUT : 정보를 업데이트하기 위해서 사용한다. (UPDATE)
- DELETE : 정보를 삭제하기 위해서 사용한다. (DELETE)
- HEAD : (HTTP)헤더 정보만 요청한다. 해당 자원이 존재하는지 혹은 서버에 문제가 없는지를 확인하기 위해서 사용한다.
- OPTIONS : 웹서버가 지원하는 메서드의 종류를 요청한다.
- TRACE : 클라이언트의 요청을 그대로 반환한다. 예컨데 echo 서비스로 서버 상태를 확인하기 위한 목적으로 주로 사용한다.