HTTP
- HyperText Transfer Protocol
- HTTP는 상태를 저장하지 않는다 (Stateless 프로토콜)
- 클라이언트와 서버 간의 메세지 교환 시 사용되는 규칙
브라우저(클라이언트)에 의해 전송되는 메세지를 요청(Request), 서버에서 응답으로 전송되는 메세지를 응답(Response)
라고 한다.
HTTP 메세지
- 요청 메세지
- 클라이언트(브라우저)가 서버로 보내는 메세지
- 요청 메세지 = Request Header + 빈줄 + Request Body
- 요청 메세지는 브라우저->검사->network 탭에서 확인 가능하다
Body : 바디부에는 서버로 전달할 데이터가 포함되어 있다.
Request Line : 요청방식(GET / POST), URL, 프로토콜 방식(http/1.1)
Request Headers : 요청메세지에 관련된 부가적인 정보가 들어가 있다.
(브라우저의 종류, 브라우저의 기본 언어 설정, 브라우저가 지원하는 컨텐츠의 종류 등등)
- 응답 메세지
- 서버가 클라이언트로 보내는 메세지
- 응답라인은 프로토콜 버전(http/1.1), http 응답 코드(숫자), 응답코드(상태) 메세지(ex)OK) 구성된다.
- 응답라인, 응답헤드 정보, 바디부로 구분된다.
요청방식의 차이(Get/Post)
- GET
- 요청방식이 GET일 때 바디부는 항상 비어져있다.
- GET방식은 주소창에
URL을 직접 입력하는 경우, 링크를 클릭할 때와 같은 경우
를 말한다.
- POST
- POST 방식은
입력폼에 값을 입력하는 경우, 로그인하는 경우, 첨부파일을 업로드 하는 경우
를 말한다.
응답 코드의 구분
- 100 : 요청 처리 중
- 200 : 요청 처리 성공적으로 완료
- 300 : 요청이 다른 곳으로 이전됨, 재요청할 URL을 응답으로 보냄
- 400 : 클라이언트의 요청이 잘못되었음
- 500 : 서버 에러(요청 처리 중 오류 발생)