[웹프로그래밍 부스트코스] 2. 웹의 동작 - http의 이해
HTTP (HyperText Transfer Protocol)
- 팀 버너스리가 1991년 HTTP v0.9 발명
- server & client 가 인터넷상에서 데이터를 주고받기 위한 프로토콜
- 장점 -> 무상태(stateless)연결이기 때문에 클라이언트와 서버 간 최대 연결 수보다 훨씬 많은 요청과 응답을 처리 가능 = 불특정 다수 대상으로 하는 서비스에 적합
- 단점 -> 무상태 연결이기 때문에 클라이언트의 이전 상황을 알 수 없음. = 필요한 정보는 유지하기 위해서 Cookie와 같은 기술이 등장하게 됨
무상태 연결 : 클라이언트가 요청에 응답한 후에 해당 클라이언트와의 연결을 바로 끊어버림
URL (Uniform Resource Locator)
- 인터넷 상의 자원의 위치
- 특정 웹 서버의 특정 파일에 접근하기 위한 경로 또는 주소
한 컴퓨터에 여러가지 서버가 동작할 수 있지만 각 서버는 서로 다른 포트 값이 필요
집 = IP주소
방 = 포트값 ( 한 방에는 한 서버만 사용 가능)
- request data format
<요청 헤더>
요청 메서드 ; GET, PUT, POST, PUSH, OPTIONS 등
요청 URI ; 요청하는 자원의 위치 명시
HTTP 프로토콜 버전
* GET 방식은 URI 에 가지고 가야하는 자원처럼 필요한 부분들도 URI에 붙여서 가져가기 때문에 요청 바디가 없다는 점 기억!
<응답 헤더>
HTTP 프로토콜 버전 , 응답 코드, 응답 메세지
날짜, 웹서버 이름과 버전, contents type, contents length, 캐시 제어 방식 등..
빈줄 다음에 나오는 내용이 실제 resource
Method 종류
- GET : 정보를 요청 (SELECT)
- POST : 정보를 밀어넣기 (INSERT)
- PUT : 정보를 업데이트 (UPDATE)
- DELETE : 정보를 삭제 (DELETE)
- HEAD : (HTTP)헤더 저보만 요청. 해당 자원의 존재 여부 혹은 서버에 문제가 있는지 확인하기 위해 사용한다
- OPTIONS : 웹서버가 지원하는 메서드의 종류를 요청
- TRACE : 클라이언트의 요청을 그대로 반환. echo 서비스, 서버 상태를 확인하기 위한 목적으로 주로 사용
HTTPS와 HTTP의 차이점
: HTTPS - Secure hypertext transfer protocol. 서버와 클라이언트 사이의 모든 소통 내용을 암호화하기 때문에 보안적인 부분에서 장점이 있지만 음란물 및 불법 도박 사이트등도 같은 보호를 받고 있다는 문제점또한 존재
No comments: