HyperText Transfer Protocol(HTTP)?
:인터넷에서 클라이언트와 서버가 데이터를 주고 받을 수 있는 규칙(프로토콜)
- 무상태 프로토콜이며 이는 서버가 요청 간에 어떠한 상태나 데이터를 유지하지 않는다라는 것(저장 X)
그래서 cookie와 session을 이용한다.
- 일반적으로 TCP/IP 레이어를 기반으로 사용한다.
**TCP/IP 알아보기
HTTP는 요청 응답으로 구분된다.
📣요청메세지
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
'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 |