TIL #18. HTTP/ Postman 실습

ceres·2020년 2월 22일
0

TIL

목록 보기
4/34

(20/2/14)

  • http 뜻
    hyper text 를 서버끼리 전송하기 위해서 만든 규칙(프로토콜)

  • 규칙을 만들기 위한 근간
    http 근간
    인터넷 네트워크가 연결된 상황에서 규칙도 적용할 수 있는것

네트워크상으로 전송하는 것
-bit(모든것은 비트로 구성되어있음)
-text 문자열을 어떠한 규칙으로 보내냐에 따라 이해여부가 나뉜다.

  • 전송할 때 필요한것 (네트워크를 통해 전성)

-나와 상대방의 주소 (최소한 상대방의 주소)
-보내는 사람
-보내는 본문 내용
-데이터의 종류 (타입)
-전송 프로토콜의 버전 정보 2.1이 최신임
-메타데이터: 헤더
-메서드

  1. http는 요청과 응답이 있다. 어떤 것은 응답을 하지 않는것도 있다. request, respond
  2. 요청 (3부분으로 구성)
    시작점도 세부분으로 구성 : starling, header
    요청의 성격
    get : 가져오는 것, 어떤 데이터 달라
    post: 보내는 것, 내가 어떤거 보내니까 저장해라

-header: meta data가 들어감.
-user agent? 구글이 이제 user agent안보낸다고 발표함. user agent를 통해 어떤 노트북을 사용하고 있고, 크롬 몇버전 사용하는지 알 수 있음. 이런 데이터를 빅데이터화해서 광고에 이용함.
connection header 커넥션을 유지할 것인지 말것인지 를 결정함 closed 값 보내면 연결 끊김
key:value 모양임
/ 모든타입을 의미함
startline -
바디 - 실제 데이터

  1. http는 stateless 임
    각 요청이 서로에 대해 모름. 10번 째 요청이 자기 위로 올라가서 첫번째 요청이 있었다는 점을 모름.
    기존에 있었던 통신에 대한 정보를 저장하지 않음.
    문제점 : 로그인 계속 풀림
    기존에 로그인한 요청이 있다는 점을 알 수 없음
    -> 하지만 로그인 상태 유지됨
    어떻게 해결했을까?
    -로그인한 유저라는 것을 다음 요청때 첨부해서 보내야함.
    요청을 처리하기 위해 필요한 모든 정보는 해당 요청에 첨부해서 보내야한다.

<respose 구조> 세부분으로 나뉘어져 있음

  1. status line
    요청을 받은 것에 대한 응답. 내 상태에 대해 알려주기 때문에 status line 이라고 부름. 세부분으로 나뉘어져 있음
    -1. HTTP 버전
    -2. status code
    -3. status text : 간략하게 설명
    주소 잘못 보내면 잘못 보냈다고 보내줌 404
    어떻게 보내줄까?
    주소를 보낼때 host, target 을 보냄
    404의 경우 host는 있는데 target이 없는 경우임
    host 자체가 잘 못됐을 경우 에러 뜸
    Headers
    메타데이타 가지고 있음, request에서는 useragent가 있었는데 여기에는 응답 보내주는 header가 있음.
    Body : 실제 데이터 , 서버

1573 바디에서 보내주는 데이터 길이
html 바이에서 보내주는 데이터 타입
body 쌩 html이 나옴. 터미널은 html 처리를 못하기 때문에 그대로 나옴. 만약에 브라우저에서 했다면 랜더링 되어서 나올 것

————
Method, Status 중요함.

  • 자주쓰이는 http Method
    내가 보내는 요청이 어떤 요청인지 알려줌
    많은데 몇개 안씀
    -get : 가져오다. 데이터 가지고 오는것get 요청 : 서버에 달라고 요청하는것,
    예) 검색정보달라. 로그인 정보 달라
    -post : get의 반대. 데이터를 수정하거나 처리하는 것,
    데이터 생성하는 것 put 사용할 수 있는데 post로 퉁침
    -delet: 지우는거
    -options: 옵션에 관한것, 해당 앤드포인트 주소가 어떤 http요청을 하는건지 모를때가 있음. 해당 앤드포인트 주소가 허용하는 메소드를 보여준다. 예) 어떤 엔드포인트는 delete를 받아드리지 않을 수 도 있음. 어떤 것을 받아드리지 않는지 보여줌

request 보면options요청함

response 보면

200 ok 보임
header 보면 allow 보임, 여기 나온 매소드만 가능하다 라는 것을 알려줌

  • Status code
    200ok 니가 보낸 요청 잘 처리했다.
    301 : 다른 주소로 바뀜
    400: 숫자로 보내야하는 것을 문자로 보냈을 때
    요청이 잘 못되었음을 보내야하는데 선택이 있음
    500(서버에 에러가 났다)을 보낼 수 도 있지만 잘못된것. 이거 보내면 백엔드가 잘 못한것이 됨. 하지만 이 문제는 프런트가 잘 못 보낸 것, 그러면 400 보내야함.
    401: 비밀번호 잘못 입력했다. 로그인이 잘 못됨
    403: 인증, 인가에 관한 것. 로그인은 됐지만 인증이 안됨.
    로그인은 했지만 결제를 한 유저는 아님/ 근데 주식 차트 뽑아가려고 함. 그럼 “결제하세요”라고 뜸
    404: 요청한 target주소가 잘못되었다.

  • 엔드포인트
    요청 스타트라인에
    접점. 엔드 = 양자간의 소통이기 때문에 상대방을 말함.
    클라이언트라면 서버(호스트)주소를 의미함.
    포인트 = 점. 엔드에 부를 수 있는 주소가 많음. 그 중 하나라는 뜻이라는디

백엔드 API
프런트 입장에서는 백엔즈 api 기능들을 이용하는것, 로그인 기능 등.
백엔드에서 로그인 함수 만드는것. 문제는 백엔드와 프런트가 물리적으로 멀리 있을 수 도 있음. 함수호출 못함. 그래서 백엔드 API를 통해 호출하는 것.
로그인이라는 기능을 사용한다. 로그인이라는 함수를 짰다. 그건 내 컴퓨터에 있음. 그런데 내꺼 말고 다른 컴터에 있는것 사용하려고 함. 원격으로 호출해서 사용.
그 과정이 백엔드 API 요청 보내는 것
http요청을 보내는 것.
함수 호출하면 결과값 있음. 그 결과값 주는 것이 response임
시스템을 짤 때 로그인 함수 뿐 아니라 여러 함수가 많음
이렇게 많음 함수를 엔드포인트라고 함.
어떤 엔드포인트를 사용할 것인지 주소 적어줘야함.
startline 에 target주소 적음
구글닷컴/로그인 = 은마아파트/304동903호

Q&A
(https : 보안적으로 암호화가 된 사이트
http로만 되어있는 사이트는 보안에 취약함.
http는 텍스트로 이루어짐. 이거 누가 스니핑하면 다 갈취해서 웹사이트, 아이디, 비번 다 빼갈 수 있음. 이것을 막기 위해서 https는 암호화를 함. 우리나라 사이트 중에서 http만 사용하는 곳도 많음
하지만 https가 항상 필요한 것은 아님. 중요하지 않다면 http사용해도 됨. 하지만 로그인 페이지면 https 여야해. 네이버 http로도 들어가짐. 옛날 컴퓨터, 핸드폰 도 들어가질 수 있도록. 하지만 네이버 검색창에 검색하면 https로 들어가짐. 네이버가 검색으로 먹고사는것. 안막으면 통신사가 이용할까봐 막음. )
(요청이 get ,post인지 확인 어떻게 함. 요청 메세지 구조에서 start line 에서 확인 할 수 있음.)
(요청은 프런트가 하는것 (웹브라우저) 응답은 백엔드가 하는것(서버). 프런트는 그 응답을 이해해야함. )

뭐라고 하는지 전혀 들리지 않아용


Postman 실습

postman 다운로드

  1. new collection - 이름
  2. 우클릭 add request
  3. get: 에 www.naver.com 입력 (호출)
  4. 밑에 response 내용 봐 (body, headers, test result)

preview누르면 네이버 메인 페이지 보임

실습은 네이버 노노 다른 엔드포인트 줌

  1. get : 데이터를 가지고 오는 것
  2. put : 수정 (profile에 접근시 Token필요) put 대신 post 로 사용
  3. delete
  4. post :

0개의 댓글