服务器响应options,HTTP发送对OPTIONS请求的响应[C]
在接收HTTP響應時出現Response is null錯誤。
我正在開發一個使用行套接字的示例小型HTTP服務器C。HTTP發送對OPTIONS請求的響應[C]
我的應用程序中實際上有2個服務器,一個是我用于提供HTML頁面的標準Apache服務器,而我的小型服務器將只響應HTML頁面中的Javascript發送的XMLHttpRequest。
我從JavaScript發送請求如下:
var sendReq = new XMLHttpRequest();
endReq.open("POST", "http://localhost:10000/", true);
sendReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
sendReq.onreadystatechange = handleResult;
var param = "REQUEST_TYPE=2002&userName=" + userName.value;
param += "&password=" + password.value;
sendReq.send(param);
當我把這一請求,我會收到以下在我的服務器代碼請求:
OPTIONS/HTTP/1.1
Host: localhost:10000
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.3) Gecko/20100423 Ubuntu/10.04 (lucid) Firefox/3.6.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Origin: http://localhost:7777
Access-Control-Request-Method: POST
我已經回答了這個請求,利用如下套接字寫功能:
HTTP/1.1 200 OK\n
Access-Control-Allow-Origin: *\n
Server: PSL/1.0 (Unix) (Ubuntu/Linux)\n
Access-Control-Allow-Methods: POST, GET, OPTIONS\n
Accept-Ranges: bytes\n
Content-Length: 438\nConnection: close\n
Content-Type: text/html; charset=UTF-8\n\n
我不知道應該是HTTP實際響應e根據OPTIONS的要求發送。
在此之后,我感到我已經從JavaScript發送我的實際POST請求,然后我進行回應與
HTTP/1.1 200 OK\n\n
,然后在瀏覽器端出現錯誤Response is null。
那么如何使用'C'中的行套接字將報頭/數據作為HTTP響應發送,以及如何響應OPTIONS請求。有人可以通過舉例來解釋我嗎?
2011-04-28
Puneet
總結
以上是生活随笔為你收集整理的服务器响应options,HTTP发送对OPTIONS请求的响应[C]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python分析推特_用Python关注
- 下一篇: oracle 练习 50_萨克斯每天需要