ÀÖÓãµç¾º




  • ½ÌÓýÐÐÒµA¹ÉIPOµÚÒ»¹É£¨¹ÉƱ´úÂë 003032£©

    È«¹ú×Éѯ/ͶËßÈÈÏߣº400-618-4000

    HTTPÄ£¿é³£ÓõÄAPIÓм¸¸ö£¿

    ¸üÐÂʱ¼ä:2021Äê12ÔÂ02ÈÕ10ʱ26·Ö À´Ô´:ÀÖÓãµç¾º ä¯ÀÀ´ÎÊý:

    ºÃ¿Ú±®ITÅàѵ

    HTTP·þÎñÆ÷±¾ÖÊÉÏÒ²ÊÇÒ»¸öSocket·þÎñÆ÷£¬¿ÉÒÔÀí½âΪÔÚSocket·þÎñÆ÷µÄ»ù´¡ÉϽøÐÐÁËһЩ·â×°£¬¼ò»¯ÁËһЩ²Ù×÷¡£±¾½Ú½«¶ÔHTTPÄ£¿éÌṩµÄAPI½øÐÐÏêϸ½éÉÜ¡£

    1. http.Server

    ÔÚNode.jsÖУ¬HTTP·þÎñÆ÷ÊÇÖ¸http.Server¶ÔÏó£¬ÓÃNode.js×öµÄËùÓлùÓÚHTTPЭÒéµÄϵͳ£¬ÈçÍøÕ¾¡¢Éç½»Ó¦ÓÃÉõÖÁ´úÀí·þÎñÆ÷£¬¶¼ÊÇ»ùÓÚhttp.ServerʵÏֵġ£ËüÌṩÁËÒ»Ì×·â×°¼¶±ðºÜµÍµÄAPI£¬½ö½öÊÇÁ÷¿ØÖƺͼòµ¥µÄÏûÏ¢½âÎö£¬ËùÓеĸ߲㹦Äܶ¼ÒªÍ¨¹ýËüµÄ½Ó¿ÚÀ´ÊµÏÖ¡£´´½¨http.Server¶ÔÏóµÄÓï·¨ÈçÏ£º

        Var server = http.createServer();

    ÔÚÉÏÊö´úÂëÖУ¬Ê¹ÓÃcreatServer()º¯Êý´´½¨µÄserver¶ÔÏó¾ÍÊÇÒ»¸öhttp.Server¶ÔÏó¡£

    http.ServerÊÇÒ»¸ö»ùÓÚʼþµÄHTTP·þÎñÆ÷£¬¼Ì³Ð×ÔEventEmitter,ËùÓеÄÇëÇó¶¼±»·âװΪ¶ÀÁ¢µÄʼþ£¬¿ª·¢ÕßÖ»ÐèÒª¶ÔËüµÄʼþ±àдÏàÓ¦º¯Êý¼´¿ÉʵÏÖHTTP·þÎñÆ÷µÄËùÓй¦ÄÜ¡£http.ServerÌṩÁËһЩº¯Êý£¬¾ßÌåÈçÏ£º

    (1)server.close([callback])£º·þÎñÆ÷Í£Ö¹ÒѾ­¿ªÊ¼µÄ¼àÌý¡£

    (2) server.listen(port[, hostname][, backlog][, callback])¡£

    server.listen²ÎÊý˵Ã÷ÈçÏ£º

    ¡ñport£ºÖ¸¶¨¼àÌýµÄ¶Ë¿Ú¡£

    ¡ñ hostname£ºÖ¸¶¨Ö÷»úÃû¡£

    ¡ñbacklog£ºÖ¸¶¨±»ÔÊÐí½øÐÐÅŶӵÄ×î´ó´ý´¦ÀíÁ¬½ÓÊý£¬Ä¬ÈÏÊÇ511¡£

    ¡ñcallback£ºÖ¸¶¨¸Ã·þÎñÆ÷ÒѾ­¿ªÊ¼ÔÚÖ¸¶¨µÄ¶Ë¿ÚÉϼàÌýʱ£¬ÒªÖ´ÐеĻص÷´¦Àíº¯Êý¡£

    £¨3£©)server listen(handle[,callback])ºÍserver.listen(path[,callback])£º¼àÌýÎļþϵͳµÄÁ¬½Ó¡£µÚÒ»¸öÊǼàÌýÒÑ´ò¿ªÎļþÃèÊö¾ä±ú£¬µÚ¶þ¸öÊÇÒª¼àÌýÒ»¸öÎļþµÄ·¾¶¡£³ý´ËÖ®Í⣬http.Server »¹ÌṩÁË3¸öʼþ£¬¾ßÌåÈçÏ£º

    £¨1£©request£ºµ±¿Í»§¶ËÇëÇóµ½À´Ê±£¬¸Ãʼþ±»´¥·¢£¬ÌṩÁ½¸ö²ÎÊýreqºÍres£¬·Ö±ðΪhttp.ServerRequestºÍhttp.ServerResponseµÄʵÀý£¬±íʾÇëÇóºÍÏìÓ¦ÐÅÏ¢¡£

    £¨2£©connection£ºµ±TCPÁ¬½Ó½¨Á¢Ê±£¬¸Ãʼþ±»´¥·¢£¬Ìṩһ¸ö²ÎÊýsocket,Ϊnet.Socket µÄʵÀý¡£connectionʼþµÄÁ£¶ÈÒª´óÓÚrequest,ÒòΪ¿Í»§¶ËÔÚKeep-AliveģʽÏ¿ÉÄÜ»áÔÚͬһ¸öÁ¬½ÓÄÚ·¢ËͶà´ÎÇëÇó¡£

    £¨3£©close£ºµ±·þÎñÆ÷¹Ø±Õʱ£¬¸Ãʼþ±»´¥·¢¡£×¢Òâ²»ÊÇÔÚÓû§Á¬½Ó¶Ï¿ªÊ±¡£³ý´ËÖ®Íâ,»¹ÓÐcheckContinue¡¢upgrade¡¢clientErrorʼþ,ͨ³£²»ÐèÒª¹ØÐÄ,Ö»ÓÐÔÚʵÏÖ¸´ÔÓµÄHTTP·þÎñÆ÷ʱ²Å»áÓõ½¡£


    2. http.IncomingMessage ¶ÔÏó

    ÔÚHTTP ·þÎñÆ÷ºÍ¿Í»§¶Ë¶¼»á´´½¨http.IncomingMessage¶ÔÏó£¬ËüÒ»°ãÓÉhttp.ServerµÄrequestʼþ·¢ËÍ£¬×÷ΪµÚÒ»¸ö²ÎÊý´«µÝ£¬Í¨³£¼ò³ÆÎªrequest»òreq¡£ÔÚ·¢ËÍHTTP ÇëÇóʱ,»á·¢ËÍÇëÇó±¨ÎÄ£¬http.IncomingMessage¶ÔÏóʵÏÖÁËÒ»¸ö¿É¶ÁÁ÷£¬ÔÚ·þÎñÆ÷¶Ë£¬http.IncomingMessage ÌṩÁËÒ»¸öclose ʼþ£¬Óû§µ±Ç°ÇëÇó½áÊøÊ±£¬Ò²¾ÍÊǵײãµÄÌ×½Ó×Ö±»¹Ø±Õʱ¸Ãʼþ±»´¥·¢¡£ÁíÍ⣬http.IncomingMessage¶ÔÏóÖл¹ÌṩÁËһЩº¯ÊýºÍÊôÐÔ£¬ÓÃÀ´»ñÈ¡¿Í»§¶ËÇëÇóºÍ·þÎñÆ÷¶ËÏìÓ¦µÄһЩÐÅÏ¢£¬ÈçϱíËùʾ¡£

    ±í7-2 http.IncomingMessage ¶ÔÏóµÄ³£Óú¯ÊýºÍÊôÐÔ

    º¯Êý&ÊôÐÔ

    ˵Ã÷

    message.headers

    °üº¬ÁËËæÇëÇó/»ØÓ¦·¢Ë͵ıêÍ·µÄÒ»¸ö¶ÔÏó

    message.httpVersion

    Ö¸¶¨ÓÃÓÚ¹¹½¨¿Í»§¶ËÇëÇó/ÏìÓ¦µÄHTTP°æ±¾

    message.setTimeout(msccs, callback)

    ÉèÖÃÁ¬½ÓµÄÒÔºÁÃëΪµ¥Î»µÄÌ×½Ó×Ö³¬Ê±Ê±¼ä£¬Á¬Í¬Ò»¸öÈç¹û·¢Éú³¬Ê±Ê±±»Ö´ÐеĻص÷º¯Êý

    message.method

    Ö¸¶¨ÓÃÓÚÇëÇó/ÏìÓ¦µÄ·½·¨

    message. statusCode

    Ö¸¶¨À´×Ô·þÎñÆ÷µÄ3λÊý״̬Âë¡£´ËÊôÐÔÖ»ÔÚ´¦Àí·þÎñÆ÷ÏìÓ¦µÄHTTP¿Í»§¶ËÉÏÓÐЧ

    message.socket

    ÕâÊÇÒ»¸öÖ¸Ïònet.Socket¶ÔÏóµÄ¾ä±ú£¬ÓÃÀ´Óë¿Í»§¶Ë/·þÎñÆ÷ͨÐÅ

    message.url

    ·¢Ë͵½·þÎñÆ÷µÄURL×Ö·û´®£¬Ö»ÔÚ´¦Àí·þÎñÆ÷ÖÐÓÐЧ


    3. http.ServerResponse

    htp.ServerResponseÊÇ·µ»Ø¸ø¿Í»§¶ËµÄÐÅÏ¢£¬¾ö¶¨ÁËÓû§×îÖÕÄÜ¿´µ½µÄ½á¹û¡£ËüÒ²ÊÇÓÉhttp.ServerµÄrequestʼþ·¢Ë͵Ä£¬×÷ΪµÚ¶þ¸ö²ÎÊý´«µÝ£¬Ò»°ã¼ò³ÆÎªresponse»òres¡£

    http.ServerResponseÊÇÒ»¸ö¿ÉдÁ÷£¬ÓÃÀ´¸ø¿Í»§¶ËµÄSocket·¢ËÍÏìÓ¦±¨ÎÄ£¬ÔÚ·þÎñÆ÷×ö³öÏìӦ֮ǰ»á·¢ËÍÏìÓ¦±¨ÎÄ,http.ServerResponseÖÐÓÐ3¸öÖØÒªµÄ³ÉÔ±º¯Êý£¬Ç°Á½¸öÓÃÓÚ·µ»Ø¶ÔÓ¦ÏìÓ¦±¨ÎĵÄÏìӦͷºÍÏìÓ¦ÄÚÈÝ£¬×îºóÒ»¸öÓÃÓÚ½áÊøÇëÇ󣬾ßÌåÈçÏ£º

    (1)response.writeHead(statusCode,[headers])£ºÏòÇëÇóµÄ¿Í»§¶Ë·¢ËÍÏìӦͷ¡£status-CodeÊÇHTTP״̬Â룬Èç200(ÇëÇó³É¹¦)¡¢404(δÕÒµ½)µÈ¡£headersÊÇÒ»¸öÀàËÆ¹ØÁªÊý×éµÄ¶ÔÏ󣬱íʾÏìӦͷµÄÿ¸öÊôÐÔ¡£¸Ãº¯ÊýÔÚÒ»¸öÇëÇóÄÚ×î¶àÖ»Äܵ÷ÓÃÒ»´Î£¬Èç¹û²»µ÷Óã¬Ôò»á×Ô¶¯Éú³ÉÒ»¸öÏìӦͷ¡£

    (2)response.write(data,[encoding])£ºÏòÇëÇóµÄ¿Í»§¶Ë·¢ËÍÏìÓ¦ÄÚÈÝ¡£dataÊÇÒ»¸öBuffer»ò×Ö·û´®£¬±íʾҪ·¢Ë͵ÄÄÚÈÝ¡£Èç¹ûdataÊÇ×Ö·û´®£¬ÄÇôÐèÒªÖ¸¶¨encodingÀ´ËµÃ÷ËüµÄ±àÂ뷽ʽ£¬Ä¬ÈÏÊÇutf-8¡£ÔÚresponse.end µ÷ÓÃ֮ǰ£¬response.write¿ÉÒÔ±»¶à´Îµ÷Óá£

    (3)response.end([data],[encoding])£º½áÊøÏìÓ¦£¬¸æÖª¿Í»§¶ËËùÓз¢ËÍÒѾ­Íê³É¡£µ±ËùÓзµ»ØµÄÄÚÈÝ·¢ËÍÍê±Ïʱ£¬¸Ãº¯Êý±ØÐë±»µ÷ÓÃÒ»´Î¡£Ëü½ÓÊÕÁ½¸ö¿ÉÑ¡²ÎÊý£¬ÒâÒåºÍresponse.writeÏàͬ¡£Èç¹û²»µ÷Óøú¯Êý£¬¿Í»§¶Ë½«ÓÀÔ¶´¦Óڵȴý״̬¡£³ýÉÏÊö³ÉÔ±º¯ÊýÍ⣬»¹ÓÐһЩº¯ÊýºÍÊôÐԿɹ©¿ª·¢ÕßʹÓã¬Èç±í7-3Ëùʾ¡£

    ±í7-3 http.ServerResponseÆäËûº¯ÊýºÍÊôÐÔ

    º¯Êý&ÊôÐÔ

    ˵Ã÷

    response.add Trailers(headers)

    ½«HTTPÎ²Ëæ±êͷдÈËÏìÓ¦µÄ½áÊø´¦

    response.finished

    ĬÈÏΪfalse,µ÷ÓÃend)µÄÊý·½·¨ºó½á¹ûΪ true

    response.getHeader(name)

    »ñÈ¡ÒÑÔÚÏìÓ¦ÖÐÉèÖõÄHTTP±êÍ·µÄÖµ

    response.headersSent

    Èç¹û±êÍ·Òѱ»·¢ËÍ£¬Îªtrue£»·ñÔòΪfalse

    response.removeHeader(name)

    ÒÆ³ýÒÑÔÚÏìÓ¦ÖÐÉèÖõÄÒ»¸öHTTP±êÍ·

    response.sendDate

    Èç¹ûÉèÖÃΪtrue£¬ÔòData±êÍ·µÄÊÇ×Ô¶¯Éú³ÉµÄ£¬²¢×÷ΪÏìÓ¦µÄÒ»²¿·Ö·¢ËÍ

    response.setHeader(name, value)

    ÉèÖÃÒ»¸öÌØ¶¨µÄ±êÍ·Öµ

    response.setTimeout(msecs, callback)

    ÉèÖÿͻ§¶ËÁ¬½ÓµÄÌ×½Ó×Ö³¬Ê±Ê±¼ä£¬ÒÔºÁÃë¼Æ£¬´øÓÐÒ»¸öÈç¹û·¢Éú³¬Ê±½«±»Ö´ÐеĻص÷º¯Êý

    response.statusCode

    ÎÞÐëÏÔʽµØÐ´Èë±êÍ·À´Ö¸¶¨ÏìӦ״̬Âë

    response.statusMessage

    µ±Ê¹ÓÃÒþʽÏûϢͷ²¢ÇÒÓÎϢͷ±»Ë¢ÐÂʱ£¬Õâ¸öÊôÐÔ¿ØÖƵÄÏûϢ״̬½«±»·¢Ë͵½¿Í»§¶Ë

    response.writeContinueO

    ·¢ËÍÒ»¸öHTTP/1.1100¼ÌÐøÏûÏ¢¸ø¿Í»§¶Ë£¬±íʾÇëÇóÖ÷ÌåÓ¦¸Ã·¢ËÍ

     

    ²ÂÄãϲ»¶£º

    HTTPͨÐÅ»úÖÆÖеÄÒ»´ÎÍêÕûͨÐŹý³ÌµÄ7¸ö²½Öè

    HTTPSʹÓÃʲô¼ÓÃÜ·½Ê½£¿¶Ô³Æ¼ÓÃÜ»¹ÊǷǶԳƼÓÃÜ?

    HTTPµÄ¹¤×÷Ô­Àí£º¹¤×÷¹ý³Ì¿ÉÒÔ·ÖΪÄ½£¿

    ʲôÊÇHTTPЭÒ飿ÈçºÎ²é¿´HTTPÏûÏ¢£¿

    ÀÖÓãµç¾ºHTML+ǰ¶Ë¿ª·¢Åàѵ

    0 ·ÖÏíµ½£º
    ºÍÎÒÃÇÔÚÏß½»Ì¸£¡
    ¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿