nodeJS -HTTP?

roberto·2021년 6월 7일

HTTP?

response , request 로 이루어진 프로토콜

서버와 클라이언트의 통신은

1.tcp 커넥션 형성 클라이언트 서버
2.클라이언트가 서버에게 아래와같은 3가지 정보를 요청한다

    1."어떤행동을 하길원하는지" request 메소드
    2."어떤문서에 어떤 경로에있는 데이터를 받길 원하는지" url 
    3."다양한 정보를 포함한" header

3.그럼 서버는 클라이언트 에게

   성공했는지 안했는지 응답과 데이터를 보낸다 

그럼 request를 어떻게 자세하게 만드는지 그에대한 response 는 어떻게 해야할지 알아보자

먼저 서버에서 클라이언트에서 보낸 request 에대한 응답으로 response 를 하게되는데

이때 잘받았는지 안받았는지 "status codes" 로 응답하게된다

status codes

5가지 범위가있다

1xx : 정보를 담고있다
2xx : 성공!
3xx : 리다이렉션 (다른곳으로 가봐 여기가 아니야)
4xx : (잘못된 방식으로 요청했을때)
5xx : (서버에서 예상치 못한 에러) 

url

서버에 요청할때 어떤 위치에있는 리소스를 원하는지 경로에대해서 나타냄

http:// : 프로토콜
www. ... : 호스트 네임 
index.html : pathname
q=love : query

requrst method ()

get : 가져올래 
post : create 
put :  replace 
delete : delete
patch : replace 

서버에 있는 데이터를 변경하는 요청

 post 
 put 
 delete
 patch

get -> 응답

200: ok

401: 권한없다
403: 권한없다

post -> 응답

201 : created

동일

get



멱등성 : 서버를 동일한 형태로 유지 할수있는지 ?

get 같은 경우 동일한 요청을 받음으로 

put vs patch

patch는 부분적으로 업데이트가 가능하다

patch 의 idempotent는 "no" 이다

url 에 해당하는 정보를 전부 업데이트 하는게아니라 일부만 업데이트 한다

http header

http header 에는 두가지정보가 들어간다

 1.standard  (표준적인 내용)
 2.custom  (우리만의 데이터)  ex) "domain"-key

	🚫x-auth 는 2012 이후로 권고되지 않는다 

💁표준화된 헤더

표준에 따라 브라우저가 정해졌으므로 표준에따라 헤더를 사용해야함

Content-Length : bytes
Content-Type : text/html | application/json 
Content-Language: en 
Cache-Control : max-age=<seconds>
(얼마나 캐시(저장)하는지) 
profile
medium 으로 이전했습니다

0개의 댓글