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

HTTP ย่อมาจาก Hyper Text Transfer Protocol และเป็นโปรโตคอลที่ใช้ในการถ่ายโอนข้อมูลทั่วเวิลด์ไวด์เว็บ

3
วิธี HTTP GET ทำงานอย่างไรที่เกี่ยวข้องกับโปรโตคอล DNS
ฉันพยายามทำความเข้าใจโปรโตคอลของชั้นแอปพลิเคชันในสแต็ก TCP / IP ฉันรู้ว่าโปรโตคอล HTTP และ DNS ยังคงอยู่ที่ชั้นบนสุด (Application Layer) ดังนั้นเมื่อเบราว์เซอร์ต้องการเข้าถึงทรัพยากรก็จะต้องส่งคำขอไปยังเซิร์ฟเวอร์ HTTP เช่น: GET www.pippo.it/hello.htm HTTP/1.1 การร้องขอนี้ทำตามกฎของโปรโตคอล HTTP นั้นจะใช้ URL ของหน้าไม่ใช่ที่อยู่ IP ฉันรู้ว่าคำขอ DNS จำเป็นต้องแปลง URL เป็น IP ดังนั้นคำถามของฉันคือ: HTTP เรียกใช้โปรโตคอล DNS หรือไม่ ดูเหมือนว่าเป็นไปไม่ได้สำหรับฉันเนื่องจากทั้งสองเป็นโปรโตคอลระดับบนสุด (ดังนั้น DNS จึงไม่สามารถให้บริการกับ HTTP) ในทำนองเดียวกันแม้ TCP (ซึ่งอยู่ในระดับที่ต่ำกว่า) ไม่สามารถขอบริการที่โปรโตคอลระดับสูงกว่าเช่น DNS ดังนั้นคำขอ DNS จะเกิดขึ้นเมื่อใด และใครเป็นผู้ดำเนินการตามคำขอ

5
ผู้อ้างอิงถูกส่งผ่านจาก HTTPS ไปยัง HTTP ในบางกรณี ... อย่างไร
ในทางทฤษฎีแล้วเบราว์เซอร์ไม่ส่งต่อข้อมูลผู้อ้างอิงจาก HTTPS ไปยังไซต์ HTTP และจากประสบการณ์ของฉันสิ่งนี้เป็นจริงเสมอ แต่ฉันเพิ่งพบข้อยกเว้นและฉันต้องการที่จะเข้าใจว่าทำไมมันจึงใช้งานได้ดังนั้นฉันจึงสามารถใช้มันได้เช่นกัน ค้นหา "ผู้อ้างอิงของฉันคืออะไร" ในhttps://www.google.ca/ เช่น: https://www.google.ca/search?q=what+is+my+referer มีเว็บไซต์ไม่กี่แห่งที่จะแสดงผู้อ้างอิง พวกเขาทั้งหมดดูเหมือนจะ "ทำงาน" เมื่อพวกเขาไม่ควร ตัวอย่างเช่นคลิก www.whatismyreferer.com อันใดอันหนึ่ง ฉันเข้าใจ: Your referer: https://www.google.ca/ โปรดทราบว่าบางครั้งฉันได้รับ "ไม่มีผู้อ้างอิง" เป็นผล ย้อนกลับไปและคลิกที่ลิงค์อีกครั้งและมันจะ "ทำงาน" ในครั้งต่อไป สิ่งนี้ไม่ควรเกิดขึ้น www.whatismyreferer.com เป็นเว็บไซต์ที่ไม่ใช่ HTTPS ไม่ควรผ่านส่วนหัวของผู้อ้างอิง แต่เป็น เกิดอะไรขึ้นที่นี่และฉันจะทำสิ่งเดียวกันจากไซต์ HTTPS ของฉันไปยังไซต์ HTTP ที่ฉันกำลังลิงก์ไปได้อย่างไร

1
การปรับใช้ statsd และ graphite บนเว็บที่พร้อมใช้งานสูงเข้าถึงได้และปรับขนาดได้
ฉันต้องการตั้งค่า statsd / graphite เพื่อให้ฉันสามารถบันทึกแอปพลิเคชัน JS ที่ทำงานบนอุปกรณ์ HTML (เช่นไม่ได้อยู่ในสภาพแวดล้อม LAN ที่มีอยู่และอาจมีข้อมูลขาเข้าจำนวนมากที่ฉันไม่ได้ควบคุมโดยตรง) ข้อ จำกัด ของฉัน: จุดเข้าใช้งานต้องพูด HTTP: สิ่งนี้ได้รับการแก้ไขโดยพร็อกซี HTTP-to-UDP-statsd อย่างง่าย (เช่น. httpstatsd บน github) ต้องต่อต้านความล้มเหลวของเซิร์ฟเวอร์เดียว (เพื่อต่อสู้กับกฎของ Murphy :) จะต้องปรับขนาดได้ในแนวนอน: webscale, baby! :) สถาปัตยกรรมควรถูกเก็บไว้อย่างเรียบง่าย (และถูก) ที่สุด เซิร์ฟเวอร์ของฉันเป็นเครื่องเสมือน ไฟล์ข้อมูลจะถูกเก็บไว้ในเครื่อง filer (ด้วย NFS) ฉันมีตัวปรับสมดุลโหลดฮาร์ดแวร์ tcp / udp เมื่อทำการกำจัด ในระยะสั้นเส้นทางข้อมูล: [ลูกค้า] - (http) -> [http2statsd] …

2
Google SPDY - มีใครใช้กับ Apache บ้างไหม
แค่สงสัยว่ามีใครเคยมีประสบการณ์กับ Google SPDY ใน Apache บ้างไหม? http://code.google.com/p/mod-spdy/ ฉันใช้งานเว็บเซิร์ฟเวอร์สองสามตัวและสนใจที่จะทราบว่ามีปัญหาใด ๆ กับโมดูล mod_spdy Apache หรือไม่และถ้าใครเคยเห็นการเพิ่มความเร็วที่มองเห็นได้ในเบราว์เซอร์ SPDY ที่รองรับ
17 apache-2.2  http  google  spdy 

5
พร็อกซี Nginx ตามวิธีการร้องขอ
เป็นไปได้ / ฉันจะกำหนดค่าตำแหน่งบล็อก Nginx เป็นพร็อกซีไปยังแบ็กเอนด์ที่แตกต่างกันได้หรือไม่ขึ้นอยู่กับวิธีการร้องขอ (เช่น GET / POST) เหตุผลก็คือตอนนี้ฉันกำลังจัดการกับ 2 วิธีที่ 2 URL ที่ต่างกัน (อันเดียวผ่าน http proxy และอีกทางผ่าน fcgi) และฉันพยายามทำให้มันมากขึ้น "REST" ful ดังนั้นจะเป็นการดีที่สุดที่จะให้ทรัพยากรกลับรายการ ในขณะที่โพสต์ไปยังทรัพยากรเดียวกันควรเพิ่มลงในรายการ
17 proxy  nginx  http 

3
nginx: ดัมพ์คำร้องขอ HTTP สำหรับการดีบัก
Ubuntu 10.04.2 nginx 0.7.65 ฉันเห็นคำขอ HTTP แปลก ๆ บางอย่างมาที่เซิร์ฟเวอร์ nginx ของฉัน เพื่อให้เข้าใจได้ดียิ่งขึ้นว่าเกิดอะไรขึ้นฉันต้องการถ่ายโอนข้อมูลคำขอ HTTP ทั้งหมดสำหรับการสืบค้นดังกล่าว (เช่นถ่ายโอนข้อมูลขอส่วนหัวและร่างกายที่ใดก็ได้ที่ฉันสามารถอ่านได้ ฉันสามารถทำได้ด้วย nginx อีกวิธีหนึ่ง, มีเซิร์ฟเวอร์ HTTP บางตัวที่อนุญาตให้ฉันทำสิ่งนี้ได้นอกกรอบ, ซึ่งฉันสามารถพร็อกซีคำขอเหล่านี้ด้วยวิธีการของ nginx? อัปเดต:โปรดทราบว่ากล่องนี้มีการรับส่งข้อมูลจำนวนมากและฉันต้องการหลีกเลี่ยงการจับภาพทั้งหมดในระดับต่ำ (พูดด้วยtcpdump) และกรองออกภายหลัง ฉันคิดว่ามันจะง่ายกว่ามากในการกรองทราฟฟิกที่ดีก่อนในกฎการเขียนใหม่ (โชคดีที่ฉันสามารถเขียนได้ง่าย ๆ ในกรณีนี้) แล้วจัดการกับทราฟฟิกที่หลอกลวงเท่านั้น tcpdumpและฉันไม่ต้องการที่จะหาช่องจราจรปลอมกล่องอื่นเพียงเพื่อให้สามารถที่จะจับมันที่นั่นด้วย อัปเดต 2:เพื่อให้รายละเอียดเพิ่มเติมเล็กน้อยคำขอปลอมมีพารามิเตอร์ชื่อ (พูด) fooในแบบสอบถาม GET (ค่าพารามิเตอร์อาจแตกต่างกัน) รับประกันการร้องขอที่ดีไม่ให้มีพารามิเตอร์นี้ ถ้าฉันสามารถกรองโดยสิ่งนี้ในtcpdumpหรือngrepอย่างใด - ไม่มีปัญหาฉันจะใช้เหล่านี้
17 ubuntu  nginx  http 

1
ส่วนชื่อโฮสต์ของ HTTP (S) URL เป็นตัวพิมพ์เล็กหรือใหญ่
จะปลอดภัยไหมที่จะใช้ http (s): //CompanyName.com/xyz เป็น URL (เช่นเพื่อจุดประสงค์ในการสร้างแบรนด์) โดยไม่มีการเปลี่ยนแปลงใด ๆ กับการกำหนดค่าด้านบริการ ฉันรู้ว่า DNS ไม่ตรงตามตัวพิมพ์ใหญ่ - เล็ก แต่อาจมีผลข้างเคียงหรือไม่ ฉันกำลังคิดเช่นส่วนต่าง ๆ ของห่วงโซ่ล้มเหลวในการจับคู่ CompanyName.com ~ companyname.com: เว็บแบ็คเอนด์บางอย่างอาจไม่ตรงกัน ตัวโหลดบาลานซ์ / พร็อกซี / แคช / ไฟร์วอลล์ชั้นแอปพลิเคชันบางตัวอาจไม่ตรงกัน ลูกค้าบางรายอาจใช้นโยบายที่มาเดียวกันอย่างไม่ถูกต้อง ลูกค้าบางรายอาจไม่ตรงกันในการตรวจสอบใบรับรอง ในขณะที่ DNS ไม่คำนึงถึงขนาดตัวพิมพ์ แต่ IDN สามารถเปลี่ยนรูปภาพได้หรือไม่? ทุกคนประสบปัญหาเหล่านั้นหรือปัญหาอื่น ๆ ที่มีตัวพิมพ์ใหญ่ในส่วนชื่อโฮสต์ของ URL? [แก้ไข] @Michael Hampton ชี้ให้เห็นว่าตามมาตรฐาน HTTP ชื่อโฮสต์นั้นไม่ตรงตามตัวพิมพ์ใหญ่ - เล็ก …

5
คำร้องขอบล็อกการปรับเปลี่ยน mod_security โดยส่วนหัว http-host
ไม่กี่วันที่ผ่านมาฉันสังเกตเห็นว่ามีบางเซิร์ฟเวอร์ที่ถูกร้องขอโดยไม่ทราบสาเหตุ ส่วนใหญ่เป็นดังต่อไปนี้: 60.246.*.* - - [03/Jan/2015:20:59:16 +0200] "GET /announce.php?info_hash=%80%85%8e%9bu%cfJ.%85%82%e9%25%bf%8e%9e%d7%bf%c5%b0%12&peer_id=-UT3420-v%8bN%aa%60%60%fd%5d%d1%b0Ux&port=15411&uploaded=48588531&downloaded=0&left=0&corrupt=0&key=9E124668&numwant=200&compact=1&no_peer_id=1 HTTP/1.1" 200 - หลังจากการบันทึกและค้นหาเล็กน้อยฉันพบว่า ISP ของจีนบางตัว (อาจ CERNET ตามผลลัพธ์ของ whatsmydns.net) และ ISP ของตุรกีบางตัว (อาจเป็น TTNET) ตอบสนองต่อการค้นหา DNS เช่นa.tracker.thepiratebay.orgกับ IP ต่างๆที่ไม่มีส่วนเกี่ยวข้องกับ piratebay หรือ torrents กล่าวอีกนัยหนึ่งพวกเขาดูเหมือนจะทำ DNS Cache Poisoning บางชนิดด้วยเหตุผลที่แปลกประหลาด ดังนั้นลูกค้า bittorrent หลายร้อยคน (ถ้าไม่นับพันคน) ในประเทศเหล่านั้นทำ 'ประกาศ' จำนวนมากให้กับเว็บเซิร์ฟเวอร์ของฉัน ในขณะนี้ฉันบล็อกจีนและตุรกีโดยสิ้นเชิงและทำงานได้ แต่ฉันต้องการค้นหาวิธีที่ดีกว่าในการบล็อกคำขอเหล่านั้น ฉันคิดว่าจะบล็อกคำขอเหล่านั้นด้วย mod_security ตามส่วนหัวของโฮสต์ HTTP …

5
วิธีเปิดใช้งานวิธี HTTP ทั้งหมดใน Apache HTTP Server
ฉันจะเปิดใช้งานการจัดการวิธี HTTP ทั้งหมดตามที่กำหนดไว้ใน RFC 2616 บนเว็บเซิร์ฟเวอร์ Apache ได้อย่างไร สิ่งเหล่านี้จะเป็น: OPTIONS GET HEAD POST PUT DELETE TRACE CONNECT ฉันใช้ Apache HTTP Server เวอร์ชัน 2.2.22 (Ubuntu) นี่คือ.htaccessไฟล์ของฉัน: <Location /output> Dav On <LimitExcept GET HEAD OPTIONS PUT> Allow from all </LimitExcept> </Location> นี่คือผลลัพธ์ที่ฉันได้รับจากการรัน Telnet - ไม่มีวิธี PUT: Escape character is '^]'. OPTIONS / …
16 apache-2.2  http 

9
การจัดการคำขอ http และ https โดยใช้พอร์ตเดียวกับ nginx
ฉันสงสัยว่า nginx สามารถจัดการคำขอ http และ https บนพอร์ตเดียวกันได้หรือไม่ [*] นี่คือสิ่งที่ฉันพยายามจะทำ ฉันกำลังเรียกใช้เว็บเซิร์ฟเวอร์ (lighttpd) จัดการคำขอ http และโปรแกรม C ที่ให้บริการเฉพาะส่วนของแผนผังเอกสารผ่าน https กระบวนการทั้งสองนี้ทำงานบนเซิร์ฟเวอร์เดียวกัน ที่ระดับไฟร์วอลล์ฉันสามารถมีพอร์ตเดียวที่ส่งต่อทราฟฟิกไปยังเซิร์ฟเวอร์นี้ได้ ดังนั้นสิ่งที่ฉันต้องการจะทำคือการตั้งค่า nginx บนเซิร์ฟเวอร์นี้เพื่อให้ฟังการร้องขอบนพอร์ตเดียวแล้ว: A) เปลี่ยนเส้นทางคำขอhttp://myhost.com/ * ทั้งหมดเพื่อให้ไปที่ localhost: 8080 (โดยที่ lighttpd กำลังฟัง) B) หากผู้ใช้ร้องขอ URL ที่ขึ้นต้นด้วยเช่น https: // myhost.com/app ก็จะส่งคำขอนั้นไปยัง localhost: 8008 (โปรแกรม C) โปรดทราบว่าในกรณีนี้การรับส่งข้อมูลระหว่างเบราว์เซอร์ระยะไกลและ nginx จะต้องได้รับการเข้ารหัส คุณคิดว่าเป็นไปได้ไหม ถ้าเป็นเช่นนั้นจะทำอย่างไร? ฉันรู้วิธีการใช้สองพอร์ตที่แตกต่างกัน ความท้าทายที่ฉันเผชิญทำด้วยพอร์ตเพียงพอร์ตเดียว …
16 nginx  http  https  lighttpd 

3
วิธีตั้งค่าการส่งต่อพอร์ตบน Amazon EC2
ฉันมีเว็บแอปพลิเคชันที่ทำงานบน Amazon EC2 มันฟังพอร์ต 9898 ฉันสามารถเข้าถึงได้โดยป้อนที่อยู่ IP และหมายเลขพอร์ต เช่น 1.2.3.4:9898 อย่างไรก็ตามสิ่งที่ฉันอยากทำจริงๆคือไม่ต้องป้อนหมายเลขพอร์ต การค้นคว้าสิ่งนี้ดูเหมือนว่าการส่งต่อพอร์ตอาจเป็นวิธีแก้ปัญหา - นั่นคือการร้องขอ HTTP ที่ได้รับในพอร์ตเริ่มต้น (80) ไปยังพอร์ตที่ไม่ได้มาตรฐานของฉัน (9898) นี่เป็นวิธีที่ถูกต้องหรือไม่ ถ้าเป็นเช่นนั้นฉันจะตั้งค่านี้ใน EC2 ได้อย่างไร ถ้าไม่เช่นนั้นฉันจะบรรลุสิ่งที่ฉันต้องการได้อย่างไร ขอบคุณล่วงหน้าสำหรับความช่วยเหลือใด ๆ ปรับปรุง ฉันควรได้กล่าวถึงอินสแตนซ์ EC2 เป็น Windows Server 2012 AMI

1
ภายใต้ HTTP2 การเชื่อมต่อ TCP ใหม่เริ่มต้นบ่อยเพียงใด
ฉันเข้าใจว่า HTTP2 มีจุดมุ่งหมายเพื่อให้ทุกอย่างอยู่ภายใต้การเชื่อมต่อ TCP เดียวและฉันสงสัยว่าการเชื่อมต่อ TCP จะถูกทำลายบ่อยเพียงใด ตัวอย่างเช่นถ้าฉันไปที่ youtube ทำการเบราส์ออกจากไซต์และกลับมาฉันจะใช้การเชื่อมต่อ HTTPS เดียวกันอีกครั้ง (ในแง่ของ TCP 4-tuple, เซสชันไม่) หรืออันอื่น? มีหลายสิ่งที่อาจเป็นเฉพาะแอปพลิเคชันและมีการใช้เบราว์เซอร์มากน้อยเพียงใด แต่มีการระบุไว้ในมาตรฐานหรือไม่
15 http  https  tcp 

4
การบีบอัด HTTP บน IIS 6.0 (Windows Server 2003)
มีหลายสิ่งที่คุณต้องทำ / พิจารณาเมื่อคุณต้องการเปิดใช้งานการบีบอัด HTTP บน IIS 6.0 (Windows Server 2003) ใครช่วยกรุณาให้รายการที่ครอบคลุมของการกระทำที่คุณต้องใช้เพื่อเปิดใช้งานการบีบอัด HTTP อย่างถูกต้อง?

5
ใช้ API ถ้าฉันแก้ไขส่วนหัวของประเภทเนื้อหาที่จะทำลายสิ่งต่าง ๆ สำหรับลูกค้า?
เรากำลังเรียกใช้ API โดยมีบางคนใช้งานอยู่ เนื่องจากความซุ่มซ่ามมรดกในส่วนของฉันซึ่งเป็นหนึ่งในปลายทางจะกลับหัวเนื้อหาผิดประเภท , เมื่อมันควรจะเป็นjs jsonคำถามของฉันคือถ้าเราแก้ไขปัญหานี้ด้วยการสลับเพื่อคืนค่าที่ถูกต้องมันจะเลวร้ายขนาดไหนสำหรับลูกค้าปัจจุบันของเรา หรือเพื่อให้เป็นไปในทางอื่นคุณคาดหวังว่าไคลเอนต์ HTTP ไคลเอนต์จำนวนมากจะแสดงข้อผิดพลาดร้ายแรงเมื่อเห็นการเปลี่ยนแปลงดังกล่าวหรือไม่? เรากำลังพยายามตัดสินใจว่านี่เป็นการเปลี่ยนแปลงที่เราสามารถทำได้โดยไม่ทำให้เหงื่อออกมากเกินไปหรือเราควรส่งอีเมลถึงผู้ใช้ทุกคนอย่างรอบคอบและประกาศช่วงเวลาเลิกใช้หลายปี ... หรืออะไรทำนองนั้น อาจขึ้นอยู่กับว่ามีการใช้ไคลเอนต์ HTTP ประเภทใดดังนั้นฉันจึงดูตัวแทนผู้ใช้ คำตอบ: มีหลายสิ่งหลายอย่าง! นี่คือบางส่วนของคนชั้นนำ: "okhttp / 3.2.0", "python-ร้องขอ / 2.10.0", "Ruby", "python-ร้องขอ / 2.7.0", "Mozilla / 5.0", "Java / 1.8.0_91", "python-ร้องขอ /2.4.3 "," okhttp / 3.3.0 "," Lucee "," Dalvik / 2.1.0 "," Google-HTTP-Java-Client / …

5
บังคับให้ https ทั้งไซต์โดยไม่เปลี่ยนเส้นทาง http ไปยัง https
มีการพูดคุยกันมากมายในขณะที่ฉันกำลังค้นคว้าวิธีทำให้ทั้งไซต์ https คำตอบส่วนใหญ่คือการเปลี่ยนเส้นทาง http ไปยัง https (.htaccess ไฟล์) ซึ่งไม่ดีเพราะมันไม่ดีในการทำงานเดียวกันสองครั้ง (คำขอสองครั้ง) นอกจากนี้ "คนที่อยู่ตรงกลาง" เป็นคนแรกที่ใช้ http และฉันต้องการให้เว็บไซต์ของฉันไปที่ https โดยตรง มีวิธีอื่นที่จะทำให้ทั้งเว็บไซต์ของคุณ https และวิธีการทำเช่นนี้? ตัวอย่างเช่นเมื่อผู้ใช้พิมพ์ใน example.com นั้น example.com จะไปที่ https โดยอัตโนมัติโดยไม่เปลี่ยนเส้นทางจาก http หรืออย่างอื่นก่อน
14 http  https 

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