스프링2

정태규·2022년 11월 1일
1

프로토콜(protocol)

서로 간의 통신을 위한 약속, 규칙
주고 받을 데이터에 대한 형식을 정의한 것

HTTP(Hyper text Transfer Protocol)

단순하고 읽기 쉽다.
텍스트 기반의 프로토콜이다.
상태를 유지하지 않는다.(stateless) -클라이언트 정보를 저장x

  • 같은 클라이언트가 두번 요청했을때, 서버가 같은 클라이언트인지 인식 못함. (보완하기 위해서 쿠키와 세션 사용)
    확장 가능하다. - 커스텀헤더(http 응답 메시지는 헤더와 바디로 나뉘는데, 그중 헤더 말함.) 추가 가능

브라우저가 HTTP 요청 메세지를 만들어서 서버에 전달하면, 서버는 요청받아서 응답메세지를 만들어서 다시 전달해줌.

응답 메세지

HTTP/1.1 200 OK //상태라인, 상태코드 200이고 OK는 설명
Content-Length: 44 /
Content_type: text/html 헤더
Date:Sat,20 Oct 2021 19:03:38 GMT
/
//빈줄 나오면 헤더 끝

Hello

상태코드

1xx: informational
2xx: Success
3xx: Redirect //다른 URL 요청
4xx: Client Error //브라우저에서 에러
5xx: Server Error //서버에서 처리중 에러 eg)404 Not Found

요청 메세지

GET

서버의 데이터를 읽어오기 위한 목적
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
/
//바디 없음

POST

서버에 데이터를 올리기 위해 설계(게시판 글쓰기, 로그인, 회원가입, 파일첨부 등등)
전송 데이터 크기 제한 없음(대용량)
데이터를 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

0개의 댓글