코드스테이츠(HTTP)

유승현·2021년 5월 18일
0

http란 무엇인가

-http는 웹서버 통신을 위한 프로토콜 중 하나입니다. 여기서 프로토콜이라 함은 HTML문서와
같은 리소스들을 가져올 수 있도록 해주는 규약입니다. 그리고 아래와같은 몇가지 속성을 갖습니다
1. 비연결성: 서버와 상시적으로 연결하지 않아도 통신이 가능하다.
장점: 모든 연결을 유지하기 위한 리소스를 줄일 수 있다.
단점: 동일한 클라이언트의 모든 요청에 대해 매번 연결/해제의 과정을 거쳐야 하기때문에 오버헤드?가 발생합니다.
2. 무상태성: 서버의 상태를 몰라도 요청을 할 수 있다.

이제 어떻게 동작하는지 알아봅시다. 클라이언트(사용자)가 브라우저를 통해서 url등과 같은 경로를 통해서 요청(request)를 하면 서버에서 해당 요청사항에 맞는 결과를 찾아서 응답(response)를 하는 형태로 동작합니다.

request(요청)

클라이언트가 서버에게 요청하는 request에는 아래와 같은 여러가지 메소드가 있습니다.

추가(CREATE) : POST
조회(READ) : GET
갱신(UPDATE) : PUT/PATCH
삭제(DELETE) : DELETE

(위의 4가지를 CRUD라고 하는것같습니다 종종 많이 보이는 단어입니다)

response(응답)

서버가 클라이언트에게 결과를 응답하는 response입니다 그중 대표적인 상태코드는 아래와 같습니다.

-상태코드에 따라서 에러의 종류를 알수있습니다.
200번대 : 요청성공
400번대 : 클라이언트 에러
500번대 : 서버에러

*xss공격 막아내기

정규표현식으로 xss공격을 방어할수있다고합니다..


 renderMessage: ({ username, text, date, roomname }) => {
    const tmpl = `<div class="chat">
      <div class="username">${username
        .replace(/</g, '&lt;')
        .replace(/>/g, '&gt;')}</div>
      <div>${text
        .replace(/</g, '&lt;')
        .replace(/>/g, '&gt;')}</div>
      <div>${date}</div>
      <div>${roomname
        .replace(/</g, '&lt;')
        .replace(/>/g, '&gt;')}</div>
    </div>`;

    document.querySelector('#chats').innerHTML =
      tmpl + document.querySelector('#chats').innerHTML;
  }
profile
멋진 사람이 되고 싶습니다.

0개의 댓글