본문 바로가기
springboot 수업일지

2일차(1) HTTP 1.1 프로토콜(http 메서드)

by wannabe 2021. 6. 24.

1.환경설정(참고)

2. F12 키 누르면 개발자 창 열림

CTRL+R 누름

▶General

-주소창에서 직접 입력하면, request method : GET 으로 됨.

-상태코드 200 통신 성공

-Remote address => [::1]:8000 => 다른 IP에서 접근하면 접근한 IP 주소가 뜬다.

*내 IP 주소는?? cmd(명령 프롬프트)에서 다음과 같이 명령어

-Referrer Policy: strict-origin-when-cross-origin => 내 서버는 cross-origin접근을 막고 있다??

(서버는 자바 스크립트 요청을 싫어함. 왜? 자바 스크립트로 서버를 공격할 수 있어서.

다른 도메인(외부)에서 자바 스크립트 요청하는것을 봉쇄하는 서버 정책. 이 정책이 default값으로)

▶Response Headers

Connection: keep-alive

Content-Length: 8

★Content-Type: text/html;charset=UTF-8

-내가 지금 들고가는 문서는 html문서에 있다. Body data 전송할 때 UTF-8 로 설정. 한글 적혀있으면 3byte씩 끊어서 읽어라

-Header는 body data(예시:movie.avi)를 설명해줌.

-GET요청은 '데이터 줘'라는 요청임(request). GET요청에는 Body data필요없음. 그러므로 content-type이 필요없다.

그러나 response할때에는 필요하다.

web에서 데이터 요청하는 건, db에서 select와 같다.

▶Resquest Headers

데이터 주는 사람이 content-type이 필요하다.요청하는 사람은 content-type 필요x

컨테이너 자체를 안들고 가고 몸만 가니까..

*POST요청은 DB에서 insert와 같다. POST요청은 content-type이 필요하다. 내가 데이터를 전달할거면 header에 content-type이 필요하다. 예를 들어, '글쓰기'하는 요청.

*Update할 때 client는 put요청을 한다. 회원정보 업데이트 데이터를 보내야하니까, 그때는 request header에 content-type이 필요하다.

예전에는, HTTP 1.0프로토콜(GET(R),POST(W))을 사용했었음.

현재는,

<HTTP 1.1 프로토콜(http 메서드)>

C(create)R(read)U(update)D(delete)라고 한다.

*GET => select => request 에 body 필요 없음. request content-type x

*POST => insert => request에 body있어야 함. request content-type o

*PUT => update => request에 body있어야 함. request content-type o

*DELETE => delete => request에 body 필요 없음. request content-type x

<참고해야할 사이트> 즐겨찾기 해놓기!!

MIME 타입 - HTTP | MDN

MIME 타입이란 클라이언트에게 전송된 문서의 다양성을 알려주기 위한 메커니즘입니다: 웹에서 파일의 확장자는 별  의미가 없습니다. 그러므로, 각 문서와 함께 올바른 MIME 타입을 전송하도록, 서버가 정확히 설정하는 것이 중요합니다. 브라우저들은 리소스를 내려받았을 때 해야 할 기본 동작이 무엇인지를 결정하기 위해 대게 MIME 타입을 사용합니다.

developer.mozilla.org

 

[ 개별타입 ]

text/plain - 이라고 적으면 문자열 그대로 web에서 보여준다.

text/html - html코드를 해석해서 보여준다.