TIL0513 http, javascript, sass

Yunji·2020년 5월 13일

TIL

목록 보기
49/54

React

Sass

한 태그에 여러 클래스가 존재하는 경우 부모 위치에 클래스 스타일을 지정해줘야 둘 다 적용된다

Javascript

함수에 숫자 배열과 특정 수를 인자로 넘기면
숫자 배열 안에서 두 수를 더해서 특정 수가 나오는 index 를 배열에 담아 리턴

// 배열과 특정 수를 인자로 받는다
const twoTarget = (nums, target) => {
	// nums 배열에서 한 숫자씩 돌아가면서 더할 반복문을 만든다 
	for (let i = 0; i < nums.length - 1; i++){
      	// 배열에서 두 숫자를 더할 때 두번 째 숫자를 반복할 j 를 지정한다
    	for (let j = 0; j < nums.length; j++) {
          	// 배열을 돌며 두 수를 더해 타겟과 비교한다
        	if (nums[i] + nums[i+j] === target) {
              	// 값이 맞으면 index 배열 리턴
            	return [i, i+j];
            }
    	}
    // 맞지 않으면 첫번 째 수(i)를 변경해서 다시 비교
    }
}
twoTarget([0,2,9,13,24], 24);
// [0, 4] 출력

HTTP

HTTP 란?

서버는 네트워크를 통해 하이퍼텍스트 문서를 교환한다
하이퍼텍스트 문서를 교환하기 위해 만들어진 프로토콜이다
웹상에서 서버끼리 통신할 때 어떤 형식으로 통신을 하자 하고 구성해놓은 하나의 구조이다
프론트렌드 서버와 클라이언트간에 사용되고 백앤트와 프론트앤드 사이에서도 사용된다
HTTP 는 request 와 response, 요청과 응답의 구조로 되어 있으며 Stateless 즉 따로 상태를 저장하지 않는다
각각의 요청은 독립성을 가지고 여러 요청/응답 끼리 연결되지 않는다
각 통신은 서로의 존재 사실을 알지 못한다
이런 특징 때문에 발생할 수 있는 문제가 로그인이다 이전 통신에서 로그인을 해도 다음 통신에서는 그 사실을 모른다 그래서 로그인 같은 상황에서는 쿠키나 세션 등등을 사용한다

Request? Response?

request 는 말 그대로 요청이고 response 는 그에따른 응답이다
클라이언트가 서버에 요청을 보내면 서버는 응답을 보낸다
둘의 통신은 요청과 응답으로 이루어져 있다
request 는 세가지로 이루어져 있다
start line, headers, body
start line 에서도 세 부분으로 나뉘는데 http method, request target, version
request target 은 세부 주소이다

Headers 와 Body 의 역할

Hearders
해당 request 의 대한 추가적인 정보를 담고 있다
header 도 크게 3부분으로 나뉜다
header 에서 자주 사용되는 정보는
Host 요청이 전송되는 target 의 host url (ex) google.com)
User-Agent 요청을 보내는 주체의 정보가 담겨 있다 ()
Accept 요청이 받을 수 있는 응답 타입
Connection 요청이 끝난 후에 계속 유지할지 default 값은 유지이다

Body
실제 데이터를 담는 부분이다

Method 란?

의도한 action 을 정의한다 정보가 접근할 때 그 정보의 성격을 알려주는 역할을 한다
GET, POST, PUT, DELETE 가 있다
HTTP Method 는 GET 과 POST 를 많이 쓴다
PUT 은 거의 안쓴다
GET 은 해당 리소스를 조회할 수 있다
POST 는 리소스를 생성한다
PUT 은 수정
DELETE 는 삭제 이다

Status-code 들은 무엇이 있을까

어떤 응답을 보내주는가도 개발자가 정해서 보내야 한다
200 OK - 문제없이 다 잘 실행되었을 때 보낸다
400 Bad Request500 Internal Server Error 의 차이는 프론트의 문제(400)와 백앤드의 문제(500)의 차이
403 Forbidden401 Unauthorized 의 차이는 권한의 차이
404 Not Found 는 request target 이 잘못된 것

RESTful HTTP API?

REST 아키텍쳐를 통해 표현된 리소스와 HTTP 메소드, URI 까지 포함되어 있다

올바른 end-point 주소 작성

end-point 에는 기능을 쓰지 않는 것이 좋다
예를 들어 http://wecode.com/create/user 처럼 create 라는 기능을 쓰는 것
URI 는 동사보다는 명사로 구성되어야 하고 대문자보다는 소문자로 사용해야 한다

0개의 댓글