- HT : HTML(Hyper Text Markup Language)
Hyper Text = 문서와 문서가 링크로 연결되어 있음- T : Transfer
전송하다 = 물건이나 편지따위를 보내다
HTML로 만든 웹 페이지 문서(파일)를 보낸다- P : Protocol
컴퓨터끼리 어떻게 HTML 파일을 주고 받을 지에 대한 소통 방식 또는 약속
=> 어떠한 '규약'을 가지고 페이지를 전송한다.
=> 요즘엔 페이지만 전송하는것이 아닌 데이터를 주고 받을때 더 넓게 사용
상태(기억력)가 없다. (요청을하면 응답을해주면 이전 요청을 기억하지 못한다)
한번에 요청을하거나 응답을 받은 후 해당 응답+요청을 담아서 다시 요청을 한다.
=> 매 통신마다 사전에 필요한 모든 정보를 담아서 요청을 해야함
ex) 로그인 후 볼 수 있는 영상 : 이 영상을 보여줘 요청 (로그인 정보 함께 전달)
많은 상태를 기억(stateful)하기 힘드니까, 1:1 요청<->응답으로 함.
stateful ? 실시간 채팅에서 주로 사용(계속 열어두는 소켓과 비슷한?)
HTTP 개별 통신은 모두 독립이어서, 과거의 HTTP 통신의 결과(상태)를 보존하지 않음
POST / login HTTP / 1.1
Headers:{
Host : www.wecode.co.kr
User-Agent : chrome
Content-Type : application/json
Content-Length : 50
}
Body:{
"username" : "wecode",
"paddword" : "wecode123"
}
HTTP method
요청이 의도한 액션을 정의Reaudset target
요청이 전송되는 목표 urlHTTP version
HTTP 버전{key : value}
형태HTTP / 1.1 404 Not Found
HTTP / 1.1 200 SUCCESS
Headers:{
Host : www.wecode.co.kr
User-Agent : chrome
Content-Type : application/json
Content-Length : 50
}
Body:{
"username" : "wecode",
"paddword" : "wecode123"
}
HTTP version
HTTP버전Status Code
응답 상태 코드 (왜 쓰나? 표준, 통일성)Status Text
응답의 상태를 간략히 설명하는 텍스트{key : value}
형태=> 요청과 응답 모두 메세지 형태, start /status 만 다름
... 다른 메소드들도 많지만 대표 메소드 3개!
// 장바구니 목록 불러오기
GET/shop/bag HTTP 1.1
HTTP/1.1 200 OK
요청은 가져오기만 하는거니까 요청메세지에 body가 없음
-> body가 없으니 header로 보내야 해서 중요한 정보는 담지 않는게 좋음
// 장바구니 담기
POST/shop/bag HTTP 1.1
HTTP/1.1 201 Created
-> POST의 body를 탈취 당할 수도 있지만, 그래서 나온게 HTTPS
-> HTTPS? body를 암호화 해서 보내줌
// 장바구니 목록 삭제
DELETE/shop/bag/30 HTTP 1.1
HTTP/1.1 204 No Content
-> 지웠으니 보내 줄 컨텐츠가 없다
보내 줄 컨텐츠가 없으니까 응답메세지에 body가 없음
세부적인 내용은 더 많지만 주요 에러가 나는 곳을 확인하는 것은 100번대로 알 수 있음
공부하며 정리&기록하는 ._. 씅로그