본문 바로가기

CS지식💪

HTTP란? HTTP의 메세지 구조

HyperText Transfer Protocol(HTTP)?

:인터넷에서 클라이언트와 서버가 데이터를 주고 받을 수 있는 규칙(프로토콜)

 

- 무상태 프로토콜이며 이는 서버가 요청 간에 어떠한 상태나 데이터를 유지하지 않는다라는 것(저장 X)

   그래서 cookie와 session을 이용한다.

- 일반적으로 TCP/IP 레이어를 기반으로 사용한다.

 **TCP/IP 알아보기

 

HTTP는 요청 응답으로 구분된다.

 

📣요청메세지

Request

1.메소드를 맨 앞에 (GET) , 그 다음 Path (경로) , 프로토콜 버전

2.Host~부터 리소스를 요청하는 경로, 즉 요청하고자하는 서버의 도메인을 적는다. 포트번호(80)제외

3. 2번째 줄 다음부터 HTTP Request Headers부분


🖥️응답메세지

1. 프로토콜의 버전, HTTP 상태코드(200) , HTTP 상태메세지 (OK)

2. HTTP Response Headers 부분

 


Method

GET, POST, PATCH(수정), PUT(대체) DELETE 로 구성

여기서 주소를 '자원' , 메소드를 '동사' 로 하는 개발방식을 REST라고 한다.

//예시
 GET /user    //사용자의 정보 요청
 DELETE /user/1  //아이디가 1인 유저 삭제

알아두면 좋을 메소드)

1.GET

만약, 내가 GET에 데이터를 담아서 보내고 싶다면 QueryString부분을 사용할 수 있다.

쉽게 말해서 서버에 데이터 요청 시 조건을 주는 것이다. 

wow.com/user?age=12 라는 예시에서 ?다음 부분인 age=12부분을 말한다.

 

2.POST

POST를 통한 요청 시 본문에 사용자의 이름 및 비밀번호 또는 제출되는 입력값 데이터들이 포함된다.

Request Message에서 Request Payload 부분이 본문 부분이다. 여기가 POST로 보낼 데이터다.

 

3.OPTION

   1)서버가 어떤 메소드를 지원하는지 알아볼 떄 사용한다.

OPTIONS https://wow.com HTTP/1.1 
//=> GET ,HEAD만 돌아옴

 2) CORS상황에서 서버에 먼저 OPTIONS 요청을 날린 다음 그 서버가 요청을 허용하면 그때서야 실제 요청을 보낸다.

    이런식으로 서버에 테스트를 해보는 용도로도 쓰일 수 있다.

 

4.PUT,PATCH

둘다 기존의 데이터를 수정한다는 메서드이지만 PATCH를 통해서 수정을 하면 부분적인 수정이 가능하고 PUT은 전체 데이터를 수정 즉,대체한다고 생각하면 된다.


HTTP상태코드

 

  • 1XX Informational
  • 2XX 성공
  • 3XX 리디렉션
  • 4XX 클라이언트 오류
  • 5XX Server Error

 

"xx"는 00에서 99 사이의 다른 숫자들을 나타냅니다.

 


참고블로그)

https://www.zerocho.com/category/HTTP/post/5b344f3af94472001b17f2da

https://surprisecomputer.tistory.com/54

'CS지식💪' 카테고리의 다른 글

HTTP -> Ajax -> Websocket  (0) 2023.04.01
position은 어떻게 사용할까  (0) 2023.03.30
캐시의 장단점  (0) 2023.03.29
프레임 워크 vs 라이브러리  (0) 2023.03.29
Parameter & Argument  (0) 2023.03.28