CS/네트워크

태태개발일지 - http

태태코 2024. 9. 7. 15:35
반응형

기본 네트워크

무언가를 보낼때는

 

              IP를 통해서 Node인지

Node <---------------------> Node

 

그리고 Node중 원하는 구역으로 보내기 위해서는
Port를 사용한다.

 

HTTP 란?

 

HTTP는 hyper-text-transfer-protocol로
원래는 html을 보내는 양식으로 약속되었지만 , 요즘 세대는 그냥 모두 포함해서 보내고있다. ex) 음성, 이미지 ....

 

http 1.1 버전을 가장 많이쓰고,

http 2,3 버전도 있는데 3버전은 UDP를 사용한다고 알고 있다. -> 영상이나 사진 

 

HTTP 요청 , 응답 (Request, Response)

출처: https://feel5ny.github.io/2019/08/15/HTTP_003_01/

 

요청: 

start-line = request-line

- HTTP 메서드 ex) GET

- 요청 대상  /index.html -> 절대경로 = "/" + [? 쿼리 포함]

- HTTP Version : HTTP/1.1

header

공백

 

응답:

start-line = status -line

- HTTP 버전

- HTTP 상태코드

- 이유

header : ex) field-name: "OWS filed-value OWS"   = HTTP 전송에 필요한 모든 부가정보   OWS: 공백허용

공백

 

 

HTTP 메서드

 

GET - 리소스조회 : 서버에 전달하고 싶은 데이터는 query 파라미터를 통해서 전달 
*메세지 바디를 사용해서 전달할 수 있지만 지원하지 않는 곳이 많아서 권장 X*

 

POST - 요청 데이터 처리: 메세지 바디를 통해 서버로 요청 데이터 전달

서버는 요청 데이터를 처리한다. ex) 메세지 바디를 통해 들어온 데이터를 처리하는 모든 기능을 수행한다.

*데이터를 등록한다는 개념은 아니다. -> 대상 리소스가 리소스의 고유 한 의미 체계에 따라 요청에 포함 된 표현을 처리하도록 요청*

 

1. 새 리소스 생성.

 

2. 요청 데이터 처리 

ex) 단순 데이터를 생성하거나, 변경하는 것을 넘어서 프로세스를 처리해야하는 경우.

-> 주문에서 결제완료 -> 배달시작 -> 배달완료 처럼 단순히 값 변경을 넘어 프로세스가 변경되는 경우

 

컨트롤 URL:  POST/orders/{orderId}/start-delivery

URI에는 보통 (리소스의 이름) 즉 명사를 명시하는 것이 주된 약속인데. 그렇지 못할경우 동사를 사용하는 것을 컨트롤 URL이라고 한다.

 

 

PUT - 기존에 있는 리소스를 완전히 대체한다.

클라이언트가 리소스의 전체 위치를 알고 넣는다는 것이 POST와 차별되는 것.

기존 리소스를 삭제하고 다시 생성한다는 느낌.

 

PATH - 기존에 있는 리소스를 부분적으로만 변경한다.

 

DELETE - 리소스 제거

 

 

반응형