คำถามติดแท็ก http

Hypertext Transfer Protocol (HTTP) เป็นโปรโตคอลเครือข่ายระดับแอปพลิเคชันที่ใช้สำหรับการถ่ายโอนเนื้อหาบนเวิลด์ไวด์เว็บ

8
http HEAD เทียบกับรับประสิทธิภาพ
ฉันกำลังตั้งค่าบริการเว็บ REST ที่ต้องตอบว่าใช่หรือไม่ใช่โดยเร็วที่สุด การออกแบบบริการ HEAD ดูเหมือนจะเป็นวิธีที่ดีที่สุด แต่ฉันต้องการทราบว่าฉันจะมีเวลามากขึ้นหรือไม่เมื่อเทียบกับการร้องขอ GET ฉันคิดว่าฉันได้รับ body stream เพื่อไม่ให้เปิด / ปิดบนเซิร์ฟเวอร์ของฉัน (ประมาณ 1 มิลลิวินาที?) เนื่องจากจำนวนไบต์ที่จะส่งคืนนั้นต่ำมากฉันจะได้รับเวลาในการขนส่งในหมายเลขแพ็คเก็ต IP หรือไม่? ขอบคุณล่วงหน้าสำหรับคำตอบของคุณ! แก้ไข: เพื่ออธิบายบริบทเพิ่มเติม: ฉันมีชุดบริการ REST ที่ดำเนินการบางกระบวนการหากอยู่ในสถานะใช้งานอยู่ ฉันมีบริการ REST อื่นที่ระบุสถานะของบริการแรกทั้งหมดเหล่านี้ เนื่องจากบริการสุดท้ายนั้นจะถูกเรียกใช้บ่อยมากโดยลูกค้าจำนวนมาก (คาดว่าจะมีการโทรหนึ่งครั้งทุกๆ 5 มิลลิวินาที) ฉันจึงสงสัยว่าการใช้เมธอด HEAD จะเป็นการเพิ่มประสิทธิภาพที่มีคุณค่าหรือไม่? มีการส่งคืนอักขระประมาณ 250 ตัวในเนื้อหาการตอบสนอง อย่างน้อยวิธี HEAD จะได้รับการขนส่ง 250 ตัวอักษรเหล่านี้ แต่ผลกระทบนั้นคืออะไร? ฉันพยายามเปรียบเทียบความแตกต่างระหว่างสองวิธี (HEAD vs GET) เรียกใช้การโทร …
111 http  get  head 

9
การพิสูจน์ตัวตน HTTP พื้นฐานด้วย Node และ Express 4
ดูเหมือนว่าการใช้การตรวจสอบสิทธิ์ HTTP พื้นฐานกับ Express v3 นั้นไม่สำคัญ: app.use(express.basicAuth('username', 'password')); เวอร์ชัน 4 (ฉันใช้ 4.2) ได้ลบbasicAuthมิดเดิลแวร์ออกไปแล้วดังนั้นฉันจึงติดขัดเล็กน้อย ฉันมีรหัสต่อไปนี้ แต่ไม่ได้ทำให้เบราว์เซอร์แจ้งให้ผู้ใช้ป้อนข้อมูลรับรองซึ่งเป็นสิ่งที่ฉันต้องการ (และฉันคิดว่าวิธีการเดิมทำ): app.use(function(req, res, next) { var user = auth(req); if (user === undefined || user['name'] !== 'username' || user['pass'] !== 'password') { res.writeHead(401, 'Access invalid for user', {'Content-Type' : 'text/plain'}); res.end('Invalid credentials'); } else { …

5
เพิ่มโดเมนย่อยไปยัง URL ของ localhost
ฉันกำลังเขียนเว็บแอปพลิเคชันที่ทำงานแตกต่างกันไปตามคำนำหน้า URL รูปแบบเป็นดังนี้: https://myprefix.mycompany.com เว็บแอปทำงานแตกต่างกันไปตาม myprefix เว็บแอปของฉันแยกส่วนนั้นออกจาก URL และดำเนินการตามนั้น อย่างไรก็ตามเมื่อฉันทดสอบในพื้นที่ของฉันฉันใช้ที่อยู่ localhost: https://localhost:1234 ฉันไม่ควรทำสิ่งที่ชอบ: https://myprefix.localhost:1234 วิธีใดเป็นวิธีที่ดีที่สุดสำหรับฉันในการทดสอบสถานการณ์นี้ ขอบคุณมาก
111 http  url  web 

5
Android: การสื่อสาร HTTP ควรใช้“ Accept-Encoding: gzip”
ฉันมีการสื่อสาร HTTP ไปยังเว็บเซิร์ฟเวอร์ที่ขอข้อมูล JSON Content-Encoding: gzipฉันต้องการบีบอัดกระแสข้อมูลนี้กับ มีวิธีตั้งค่าAccept-Encoding: gzipใน HttpClient หรือไม่? ค้นหาgzipในการอ้างอิง Android ไม่แสดงอะไรที่เกี่ยวข้องกับ HTTP, ที่คุณสามารถดูที่นี่

19
ดาวน์โหลดไฟล์หลายไฟล์ด้วยการดำเนินการเดียว
ฉันไม่แน่ใจว่าเป็นไปได้หรือไม่โดยใช้เทคโนโลยีเว็บมาตรฐาน ฉันต้องการให้ผู้ใช้สามารถดาวน์โหลดไฟล์หลายไฟล์ในการดำเนินการเดียว นั่นคือคลิกกล่องกาเครื่องหมายถัดจากไฟล์จากนั้นรับไฟล์ทั้งหมดที่ถูกเลือก เป็นไปได้ไหม - ถ้าเป็นเช่นนั้นคุณแนะนำกลยุทธ์พื้นฐานอย่างไร ฉันรู้ว่าฉันสามารถใช้เทคโนโลยีดาวหางเพื่อสร้างเหตุการณ์ฝั่งเซิร์ฟเวอร์ที่เรียกใช้ HttpResponse แต่ฉันหวังว่าจะมีวิธีที่ง่ายกว่านี้

1
วิธีที่ง่ายที่สุดในการอ่านจาก URL เป็นสตริงใน. NET
ระบุ URL เป็นสตริง: http://www.example.com/test.xml วิธีใดง่ายที่สุด / รวบรัดที่สุดในการดาวน์โหลดเนื้อหาของไฟล์จากเซิร์ฟเวอร์ (ชี้ไปที่ URL) ลงในสตริงใน C # วิธีที่ฉันทำในขณะนี้คือ: WebRequest request = WebRequest.Create("http://www.example.com/test.xml"); WebResponse response = request.GetResponse(); Stream dataStream = response.GetResponseStream(); StreamReader reader = new StreamReader(dataStream); string responseFromServer = reader.ReadToEnd(); นั่นคือรหัสจำนวนมากที่อาจเป็นบรรทัดเดียว: string responseFromServer = ????.GetStringFromUrl("http://www.example.com/test.xml"); หมายเหตุ: ฉันไม่กังวลเกี่ยวกับการโทรแบบอะซิงโครนัส - นี่ไม่ใช่รหัสการผลิต
109 c#  http  networking 

7
การตอบสนองรหัสสถานะ HTTP ที่เหมาะสมสำหรับคำขอทั่วไปที่ไม่สำเร็จคืออะไร (ไม่ใช่ข้อผิดพลาด)
ฉันกำลังสร้าง RESTful API ที่จะประมวลผลการโต้ตอบของผู้ใช้จำนวนมากรวมถึงการสั่งซื้อโดยใช้บัตรเครดิตที่จัดเก็บไว้ ในกรณีที่คำสั่งซื้อสำเร็จฉันจะส่งคืน 200 OK และในกรณีที่คำขอสั่งซื้อผิดรูปแบบหรือไม่ถูกต้องฉันจะส่งคืน 400 คำขอที่ไม่ถูกต้อง แต่ฉันควรส่งคืนอะไรหากเกิดปัญหาระหว่างการดำเนินการตามคำสั่งซื้อจริง ลูกค้า POSTS สั่งไปยังเซิร์ฟเวอร์สำหรับทรัพยากรผู้ใช้ หากไม่มีผู้ใช้ 404 Not Found จะถูกส่งกลับ รูปแบบคำสั่งซื้อและข้อมูลได้รับการตรวจสอบแล้ว หากไม่ถูกต้อง 400 คำขอที่ไม่ถูกต้องจะถูกส่งกลับ คำสั่งซื้อได้รับการดำเนินการ หากคำสั่งซื้อสำเร็จจะมีการส่งคืน 201 ที่สร้างขึ้นสำหรับคำสั่งซื้อ หากพบข้อผิดพลาดที่ไม่คาดคิดข้อผิดพลาด 500 เซิร์ฟเวอร์จะถูกส่งกลับ ขั้นตอนสุดท้ายคือปัญหา - ฉันจะคืนอะไรได้บ้างหากคำสั่งซื้อไม่สมบูรณ์ด้วยเหตุผลอื่นใด สถานการณ์ที่เป็นไปได้อาจรวมถึง: สินค้าหมด ถึงขีด จำกัด การสั่งซื้อสูงสุดของผู้ใช้แล้ว การทำธุรกรรมบัตรเครดิตล้มเหลว (เงินไม่เพียงพอ ฯลฯ ) ดูเหมือนว่ามันจะไม่เหมาะสมสำหรับ 400 หรือ 500 หากสิ่งใดที่ฉันเห็นว่าเป็น 400 หากไม่มีรหัสที่ดีกว่าคำขอนั้นไม่ถูกต้องตามกฎทางธุรกิจ ดูเหมือนจะไม่ถูกต้อง …

5
การส่งต่อพอร์ตของ Vagrant ไม่ทำงาน [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน7 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันทำงานเป็นปัญหาเล็ก ๆ ในตอนท้ายของคู่มือเริ่มต้นสำหรับ vagrantฉันกำลังทำงานกับ CentOS basebox ที่มี Apache2 ทำงานอยู่ (การจัดเตรียมผ่าน Puppet) ฉันได้ตั้งค่าการส่งต่อพอร์ตสำหรับคำขอทางเว็บโดยใช้บรรทัดต่อไปนี้Vagrantfile: config.vm.forward_port "web", 80, 4567 แต่เมื่อฉันร้องขอไปยังพอร์ตนั้นพวกเขาล้มเหลว ข้อผิดพลาดที่รายงานโดย Safari คือ 'Safari ไม่สามารถเปิดหน้า“ http: // localhost: 4567 / ” ได้เนื่องจากเซิร์ฟเวอร์ยกเลิกการเชื่อมต่อโดยไม่คาดคิด' ฉันได้vagrant reloadและเห็น "[ค่าเริ่มต้น] - web: 80 => 4567 (อะแดปเตอร์ 1)" ในการเลื่อนฉันควรจะเริ่มแก้ไขปัญหานี้ที่ไหน …

12
การป้องกันการส่งแบบฟอร์มอีกครั้ง
หน้าหนึ่งมีรูปแบบ HTML หน้าที่สอง - รหัสที่จัดการข้อมูลที่ส่ง แบบฟอร์มในหน้าที่หนึ่งจะถูกส่ง เบราว์เซอร์ถูกเปลี่ยนเส้นทางไปยังหน้าที่สอง หน้าที่สองจัดการข้อมูลที่ส่ง ณ จุดนี้หากหน้าสองได้รับการรีเฟรชการแจ้งเตือน "ยืนยันการส่งแบบฟอร์มอีกครั้ง" จะปรากฏขึ้น สิ่งนี้สามารถป้องกันได้หรือไม่?
107 forms  http 

5
การตอบสนอง REST ที่เหมาะสมสำหรับตารางว่าง?
สมมติว่าคุณต้องการรับรายชื่อผู้ใช้โดยโทรGETไปapi/usersแต่ขณะนี้ตารางถูกตัดทอนจึงไม่มีผู้ใช้ คำตอบที่เหมาะสมสำหรับสถานการณ์นี้คืออะไร: 404หรือ204?
107 api  http  rest 

7
จะตั้งค่าการหมดเวลาสำหรับคำขอ http get () ใน Golang ได้อย่างไร?
ฉันกำลังสร้าง URL fetcher ใน Go และมีรายการ URL ที่จะดึงข้อมูล ฉันส่งhttp.Get()คำขอไปยังแต่ละ URL และได้รับคำตอบ resp,fetch_err := http.Get(url) ฉันจะกำหนดระยะหมดเวลาที่กำหนดเองสำหรับคำขอรับแต่ละรายการได้อย่างไร (เวลาเริ่มต้นนั้นนานมากและทำให้ fetcher ของฉันช้ามาก) ฉันต้องการให้ตัวดึงข้อมูลของฉันมีระยะหมดเวลาประมาณ 40-45 วินาทีหลังจากนั้นควรส่งคืน "คำขอหมดเวลา" และไปยัง URL ถัดไป ฉันจะบรรลุเป้าหมายนี้ได้อย่างไร?
107 http  get  timeout  go 

8
ข้อผิดพลาด HTTP 403 ใน Python 3 Web Scraping
ฉันพยายามคัดลอกเว็บไซต์เพื่อฝึกฝน แต่ฉันยังคงได้รับ HTTP Error 403 (คิดว่าฉันเป็นบอท) หรือไม่? นี่คือรหัสของฉัน: #import requests import urllib.request from bs4 import BeautifulSoup #from urllib import urlopen import re webpage = urllib.request.urlopen('http://www.cmegroup.com/trading/products/#sortField=oi&sortAsc=false&venues=3&page=1&cleared=1&group=1').read findrows = re.compile('<tr class="- banding(?:On|Off)>(.*?)</tr>') findlink = re.compile('<a href =">(.*)</a>') row_array = re.findall(findrows, webpage) links = re.finall(findlink, webpate) print(len(row_array)) iterator = [] ข้อผิดพลาดที่ฉันได้รับคือ: File "C:\Python33\lib\urllib\request.py", …

1
การชี้แจงส่วนหัวของ Keep-alive
ฉันถูกขอให้สร้างไซต์และหนึ่งในผู้ร่วมพัฒนาบอกฉันว่าฉันจะต้องใส่ส่วนหัวที่มีชีวิตอยู่ ฉันอ่านมากเกี่ยวกับเรื่องนี้ แต่ฉันก็ยังมีคำถาม msdn -> การเชื่อมต่อแบบเปิดจะช่วยเพิ่มประสิทธิภาพเมื่อไคลเอ็นต์ทำการร้องขอหลายครั้งสำหรับเนื้อหาเว็บเพจเนื่องจากเซิร์ฟเวอร์สามารถส่งคืนเนื้อหาสำหรับแต่ละคำร้องขอได้เร็วขึ้น มิฉะนั้นเซิร์ฟเวอร์จะต้องเปิดการเชื่อมต่อใหม่สำหรับทุกคำขอ มองไปที่ เมื่อ IIS (F) ส่งkeep aliveส่วนหัว ( หรือผู้ใช้ส่ง keep-ยังมีชีวิตอยู่ ) มันไม่ได้หมายความว่า ( E, C, B) บันทึกการเชื่อมต่อซึ่งเป็นเพียงสำหรับเซสชันของฉันได้อย่างไร ข้อมูลนี้ถูกเก็บไว้ที่ไหน ( "การเชื่อมต่อนี้เป็นของ" Royi " ) หมายความว่าไม่มีใครสามารถใช้การเชื่อมต่อนั้นได้ ถ้าเป็นเช่นนั้นหมายความว่า keep alive-header - ลดจำนวนผู้ใช้การเชื่อมต่อที่ทับซ้อนกันหรือไม่ ถ้าเป็นเช่นนั้นการเชื่อมต่อจะบันทึกถึงฉันได้นานเท่าใด (กล่าวอีกนัยหนึ่งคือถ้าฉันยังคงมีชีวิตอยู่ - "เก็บ" ไว้จนถึงเมื่อไหร่?) ps สำหรับผู้ที่สนใจ: การคลิกหน้าตัวอย่างนี้จะส่งคืนส่วนหัวของ keep alive

9
PHP_SELF กับ PATH_INFO กับ SCRIPT_NAME เทียบกับ REQUEST_URI
ฉันกำลังสร้างแอปพลิเคชัน PHP ใน CodeIgniter CodeIgniter ส่งคำขอทั้งหมดไปยังคอนโทรลเลอร์หลัก: index.php. อย่างไรก็ตามฉันไม่ชอบเห็นindex.phpใน URI ตัวอย่างเช่นhttp://www.example.com/faq/whateverจะกำหนดเส้นทางไปยังhttp://www.example.com/index.php/faq/whateverความประสงค์เส้นทางที่จะไปฉันต้องการวิธีที่เชื่อถือได้เพื่อให้สคริปต์รู้ว่าที่อยู่คืออะไรจึงจะรู้ว่าจะต้องทำอย่างไรกับการนำทาง ฉันเคยใช้mod_rewriteตามเอกสารของ CodeIgniter กฎมีดังนี้: RewriteEngine on RewriteCond $1 !^(images|inc|favicon\.ico|index\.php|robots\.txt) RewriteRule ^(.*)$ /index.php/$1 [L] ปกติผมก็จะตรวจสอบแต่ในกรณีนี้มันเสมอphp_self index.phpฉันจะได้รับจากREQUEST_URI, PATH_INFOฯลฯ แต่ฉันพยายามที่จะตัดสินใจว่าจะเป็นที่น่าเชื่อถือที่สุด ไม่มีใครรู้ (หรือทราบว่าจะหา) ความแตกต่างระหว่างจริงPHP_SELF, PATH_INFO, SCRIPT_NAMEและREQUEST_URI? ขอบคุณสำหรับความช่วยเหลือของคุณ! บันทึก : ฉันต้องเพิ่มช่องว่างเนื่องจาก SO เห็นขีดล่างและทำให้เป็นตัวเอียงด้วยเหตุผลบางประการ อัปเดต : แก้ไขช่องว่าง
106 http  php  codeigniter 


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.