요청에 대한 응답으로 HTTP 프로토콜 및

사이트의 구성

클라이언트와 서버 측 : 웹 응용 프로그램은 두 부분으로 나눌 수 있습니다.

클라이언트 : 브라우저에서 실행의 일부는 프로그램으로 사용자 볼 수있는 인터페이스와 상호 작용이다. HTML, CSS, 자바 스크립트 건물을 사용.

서버 : 데이터를 저장하고, 애플리케이션 로직 처리를 담당하는 서버에서의 동작의 일부.

웹 서버

웹 사이트 서버 : 웹 사이트 서비스에 대한 액세스는 사이트 서버 시스템, 그것은 클라이언트의 수신 할 수있다 제공 요청을 요청하기 위해 응답을 .

 노드 웹 서버 구성 요소 :

1 컴퓨터

2, 노드 환경

(3), 오브젝트 요청 응답

몇 명사 서버

IP 주소

유일하게 인터넷 장치를 식별합니다.

IP는 인터넷 프로토콜 주소를 대신하여, 인터넷 프로토콜 주소의 줄임말입니다

로컬 IP : 127.0.0.1

도메인 이름

IP 기억하기 어려운 주소 때문에, 도메인 이름의 개념, 그래서 도메인 이름은 보통이라고 인터넷 URL을 사용 .

http://www.itheima.com => http://124.165.219.100/

주소 표시 줄에 URL 입력, 결국은되지만 IP에 도메인 이름을 변환 지정된 사이트 서버에 액세스 할 수 있습니다.

기계 도메인 : 로컬 호스트

포트

외부 세계와의 통신은 서버 컴퓨터에서 제공하는 다른 서비스를 구분하는 데 사용되는 컴퓨터 포트 AC 콘센트입니다.

URL

또한 URL (범용)로 알려진 범용이, 인터넷을 식별하기 위해 설계된 온라인 리소스 위치 주소 모드 중 하나의 종류 및 설정, 우리는 일반적으로 URL 인 웹 페이지 주소를 참조하십시오.

URL의 구성

전송 프로토콜 : // 서버 IP 또는 도메인 이름 : 포트 / 자원 로고의 위치

HTTP : //www.itcast.cn/news/20181018/ 09152238514.html

HTTP : 하이퍼 텍스트 전송 프로토콜, 게시하고 HTML 페이지를 수신하는 방법을 제공한다.

로컬 웹 서버 만들기

1  // 웹 서버 모듈 만들기 
2  // 참조 시스템 HTTP 모듈 
. 3 CONST =의 HTTP 요구 ( "HTTP" )
 . 4  
. 5  // 웹 서버를 만드는 
6. CONST = 앱 http.createServer ()
 . 7  
. 8  // 때 서버 이 때 요청 
9  // 이 서버에 이벤트를 추가하는 요청 이벤트 대신 요청 이벤트 핸들러 뒤에 추가된다 
(10) (REQ, RES) =>는 app.on ( "요구", {
 . 11      // RES는 대응 오브젝트 
(12)가      // REQ는 요청 목적 
13 인  
14     // 클라이언트 요청 응답 
15     res.end ( '사용자 헬로 </ H1의> <의 H1>' )
 (16)  })
 . 17 
18  // 외부 세계에 서비스를 제공하기 위해, 수신 포트 
(19) app.listen (3000 )
 (20)  
(21) 을 console.log ( "서버가 성공적으로 시작");

HTTP 프로토콜

HTPP 프로토콜 : 하이퍼 텍스트 전송 프로토콜 (영어 : 하이퍼 텍스트 전송 프로토콜, 약칭 : HTTP)을 정의 서버가되는 방법을 전송 클라이언트 - 서버 아키텍처 작업을 기반으로 로컬 브라우저에 하이퍼 텍스트는, 클라이언트 (사용자)와 서버 (이다 웹 사이트) 요청 및 응답 기준.

패킷

데이터를 포함한 패킷의 호출시 HTTP 요청과 응답의 데이터 블록 전송은 전송 및 추가 정보, 좋은 양식을 준수합니다.

요청 패킷

서버 추가 요청 이벤트를 두 번째 매개 변수는 두 개의 기본 매개 변수가 이벤트 핸들러 객체 때의 기본으로, 첫 번째 매개 변수를  REQ 요청 객체

이 개체는 세 가지 속성이 있습니다

req.headers 요청 패킷을 얻기 //

요청 패킷 방식 얻기

1      // 오기 요청 메시지 정보 
2      // req.headers 
3.      CONSOLE.LOG (req.headers)
 . 4      // 온 키]의 요구 패킷 얻었다 
. 5      CONSOLE.LOG하면 (req.headers는 [ "수락 "]);
코드보기

req.url // 주소 획득 요구

자원의 위치는 URL 필드에서 획득

  전송 프로토콜 : // 서버 IP 또는 도메인 이름 : 포트 / 자원 로고의 위치

  자원이 기본 위치 필드 획득이 아닌 경우   /

다른 필드는 다른 작업을 인수

1      // 요청 어드레스 얻을 : 식별자, 다른 응답을 사용자에게 제공하는 것 
2      //   req.url 
. 3      CONSOLE.LOG (req.url을)
 . 4      IF (req.url == "/ 인덱스"|| req.url == "/" )는 {
 5.          res.end ( "<H2> 홈에 오신 것을 환영합니다 </ H2>" )
 . 6      } 다른  IF (req.url == "/ 목록" ) {
 . 7          구입 res.end ( "가능 행 listpage " )
 . 8      } 다른 {
 9.          res.end ("주 왔을 " );
 10      }
코드보기

req.method // GET 요청 방법

두 가지 유형으로 구분 요청 :

데이터에 대한 요청 GET 요청 : 주소 필드에 URL을 입력

POST 요청 데이터를 전송하는 요청입니다 : 게시물 요청 양식을 보내

. 1  <! - 
 방법 : 지정 현재 양식 제출 방법
 3.  작업 : 현재 양식의 지정된 주소를 제출
 . 4  -> 
. 5  < 양식 방법 = "POST" 행동 = "HTTP : // 로컬 호스트 : 3000" > 
. 6      < INPUT 입력 = "제출" > 
. 7  </ 양식 >
POST 요청

다른 요청은 다른 작업을 할 수

1  // 获取请求方式
2  // req.method 
3  CONSOLE.LOG (req.method);
(4)  만약 (req.method == "POST" ) {
 5     res.end ( "POST" )
 6 } 다른  경우 (req.method == "GET" ) {
 7     res.end ( "GET" )
 8 }
코드보기

응답 메시지

 설정 응답 패킷

1 개      // 응답 패킷 
     // res.writeHead () 
3.      // 매개 변수 1 : 상태 코드는 없습니다 쓰기 기본값은 200이다 할 
4.      // 매개 변수 2 : 개체 : 응답 패킷 정보를 기록합니다. 수신 된 패킷을 처리 할 
5.      res.writeHead를 (200이며 , {
 6.          // HTML로 설정 파싱 코드 포맷 UTF8 코딩 
7.          "컨텐츠 타입": "텍스트 / HTML; 문자셋 = UTF8"
 . 8      });

상태 코드

200 성공 요청

404 요청한 리소스가 발견되지

500 서버 오류

(400) 클라이언트에 구문 오류가 요청

메시지의 응답 콘텐츠 형식

text / html과

텍스트 / CSS

응용 프로그램 / 자바 스크립트

이미지 / JPEG

응용 프로그램 / JSON

 

 

 

 

 

 

 

 

 

 

 

-------

 

추천

출처www.cnblogs.com/yzy-kyk/p/12608194.html