서로 간의 통신을 위한 약속, 규칙
주고 받을 데이터에 대한 형식을 정의한 것
단순하고 읽기 쉽다.
텍스트 기반의 프로토콜이다.
상태를 유지하지 않는다.(stateless) -클라이언트 정보를 저장x
브라우저가 HTTP 요청 메세지를 만들어서 서버에 전달하면, 서버는 요청받아서 응답메세지를 만들어서 다시 전달해줌.
HTTP/1.1 200 OK //상태라인, 상태코드 200이고 OK는 설명
Content-Length: 44 /
Content_type: text/html 헤더
Date:Sat,20 Oct 2021 19:03:38 GMT /
//빈줄 나오면 헤더 끝
1xx: informational
2xx: Success
3xx: Redirect //다른 URL 요청
4xx: Client Error //브라우저에서 에러
5xx: Server Error //서버에서 처리중 에러 eg)404 Not Found
서버의 데이터를 읽어오기 위한 목적
QUERY STRING을 통해 데이터를 전달(소용량)
URL에 데이터 노출되므로 보안에 취약
데이터 공유에 유리
ex) 검색엔진에서 검색단어 전송에 이용
GET/ch2/getYoil?year=2018&month=10&day=1 HTTP/1.1 //요청라인
Host:111.22.33.44.8080 /
User-Agent:Mozilla/5.0(Windows NT 10.0)
Accept:text/html 헤더
Connection:keep-alive /
//바디 없음
서버에 데이터를 올리기 위해 설계(게시판 글쓰기, 로그인, 회원가입, 파일첨부 등등)
전송 데이터 크기 제한 없음(대용량)
데이터를 body에 담아 전송
보안에 유리,데이터 공유에는 불리
https:// = Http +TLS 방식으로 보내야 보안에 유리해짐
POST/ch2/getYoil HTTP/1.1
Host:111.22.33.44.8080 /
User-Agent:Mozilla/5.0(Windows NT 10.0)
Accept:text/html 헤더
Connection:keep-alive /
year=2021&month=10&day=1 //바디(서버에 전송할 데이터)
페이지 오른쪽 마우스 -> 검사->network ->ctrl + R(새로고침) -> view source