프런트엔드 네트워크 관련 소결

2636 단어
쓰기 XMLHttpRequest는 라이브러리를 사용하지 않습니다.
    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function () {
      if (xhr.readyState == 4) {
        if (xhr.status == 200) {
          console.log(xhr.responseText);
        }
      }
    };
    xhr.open('GET', 'url', true);
    //xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
    xhr.send(null);

get할 때,open의 URL은 매개 변수를 맞추고,send에서 매개 변수를 전달하지 않습니다.post일 때,open의 URL은 매개 변수를 포함하지 않습니다.send에서 매개 변수를 전달하고,open 후send 앞에 요청 헤더를 설정합니다.
ajax 요청 중의 두 가지 상태 코드
상기 코드에는 두 가지 상태 코드가 있는데,
첫 번째는 xhr입니다.readyState, 브라우저 판단 요청 과정의 각 단계의 상태 코드입니다.
0 - 프록시가 생성되었지만 open () 이 호출되지 않았습니다.
1 - open () 방법이 호출되었습니다.
2 -send() 방법이 호출되었고 머리와 상태를 얻을 수 있습니다
3 - 다운로드 중 responseText 속성에 일부 데이터가 포함되어 있음
4 - 다운로드 작업이 완료되었습니다.
두 번째는 xhr입니다.status, 이것은 HTTP 프로토콜에 규정된 서로 다른 결과의 반환 상태 설명입니다.
1xx
수락한 요청이 처리되고 있음을 나타내는 정보성 상태 코드
2xx
성공 상태 코드, 요청이 정상적으로 처리되었음을 나타냅니다.
  • 200 OK: 클라이언트로부터 서버에 전송된 요청이 정상적으로 처리되고 반환됨을 나타냅니다
  • 204 No Content: 클라이언트가 서버에 보낸 요청이 성공적으로 처리되었지만 되돌아오는 응답 메시지에는 실체의 주체 부분이 포함되지 않았습니다(되돌아갈 자원이 없습니다)
  • 206 Patial Content: 클라이언트가 범위 요청을 했고 서버가 이 부분의 GET 요청을 성공적으로 수행했음을 나타냅니다. 응답 메시지에는 Content-Range가 지정한 범위의 실체 내용이 포함되어 있습니다

  • 3xx
    요청을 완료하기 위해 추가 작업이 필요하다는 것을 나타내는 상태 코드로 리디렉션
  • 301 Moved Permanently: 요청한 자원에 새 URL이 할당되었음을 나타냅니다. 이후에 변경된 URL을 사용해야 합니다
  • 302 Found: 요청된 리소스에 새 URL이 할당되었음을 나타내는 임시 리디렉션입니다. 이번 액세스에서 새 URL을 사용하십시오

  • 301과 302의 차이점: 전자는 영구 리디렉션, 후자는 임시 리디렉션(나중에 URL이 변경될 수 있음)
  • 303 See Other: 리소스에 새 URL이 할당되었음을 나타냅니다. 요청된 리소스를 GET 방법으로 정렬해야 합니다

  • 302와 303의 차이점: 후자는 클라이언트가 GET 방식으로 자원을 확보해야 한다는 것을 명확하게 나타낸다
  • 304 Not Modified: 클라이언트가 첨부 조건(GET 방법을 사용하는 요청 메시지에 if-Match, if-Modified-Since, if-None-Match, if-Range, if-Unmodified-Since 중 첫 번째)을 포함하는 요청을 보낼 때 자원을 찾았지만 조건 요청에 부합되지 않음을 나타냅니다
  • 307 Temporary Redirect: 302와 같은 의미를 가진 임시 리디렉션으로 307은 브라우저 표준에 따라 POST에서 GET로 바뀌지 않습니다(브라우저에 따라 다를 수 있습니다)

  • 4xx
    서버에서 요청을 처리할 수 없음을 나타내는 클라이언트 오류 상태 코드
  • 400 Bad Request: 요청 메시지에 문법 오류가 있습니다
  • 401 Unauthorized: 허가 없이 HTTP 인증을 받아야 합니다
  • 403 Forbidden: 서버에서 액세스를 거부합니다(액세스 권한에 문제가 있음)
  • 404 Not Found: 서버에서 요청한 자원을 찾을 수 없음을 나타냅니다. 이외에도 서버에서 요청을 거절했지만 거절 원인을 제시하고 싶지 않을 때 사용할 수 있습니다

  • 5xx
    서버 오류 상태 코드, 서버 처리 요청 오류 표시
  • 500 Inter Server Error: 서버가 요청을 실행할 때 오류가 발생했고 웹 응용 프로그램에 존재하는 버그나 임시 오류일 수도 있습니다
  • 503 Server Unavalable: 서버가 일시적으로 과부하 상태이거나 정지 유지 보수 중이어서 요청을 처리할 수 없음을 나타냅니다

  • 좋은 웹페이지 즐겨찾기