Saya perlu membangun server HTTP sederhana di C. Ada panduan? Tautan? Sampel?
c
httpserver
Nathan H.
sumber
sumber
Jawaban:
Saya sarankan Anda melihat httpd kecil . Jika Anda ingin menulisnya dari awal, Anda pasti ingin membaca RFC 2616 secara menyeluruh . Gunakan soket BSD untuk mengakses jaringan pada tingkat yang sangat rendah.
sumber
tiny httpd
juga ada di github di sini: github.com/larryhe/tinyhttpdSaya merekomendasikan Anda untuk melihat: Panduan Praktis untuk Menulis Klien dan Server
Apa yang harus Anda terapkan dalam langkah-langkah tambahan adalah:
sumber
Server HTTP secara konseptual sederhana:
Ini menjadi lebih sulit tergantung pada seberapa banyak HTTP yang ingin Anda dukung - POST sedikit lebih rumit, skrip, menangani banyak permintaan, dll.
Tapi dasarnya sangat sederhana.
sumber
Mongoose (Dulunya Simple HTTP Daemon) cukup bagus. Secara khusus, ini dapat disematkan dan dikompilasi di bawah Windows, Windows CE, dan UNIX.
sumber
Buka soket TCP pada port 80, mulai dengarkan koneksi baru, terapkan ini . Bergantung pada tujuan Anda, Anda dapat mengabaikan hampir semuanya. Paling mudah, Anda dapat mengirim respons yang sama untuk setiap permintaan, yang hanya melibatkan penulisan teks ke soket.
sumber
Lihatlah nweb (Nigel's Web Server), "server web kecil dan aman [...] dengan hanya 200 baris kode sumber C":
https://drive.google.com/file/d/0B3msld7qnNOhN1NXaFIwSFU2Mjg/view?usp=sharing
http://www.ibm.com/developerworks/systems/library/es-nweb/Artikel tersebut mencakup kodesemu, penjelasan, dan komentar.
EDIT: Tautan IBM telah mati. Saya telah menyimpan PDF halaman web ke Google Drive. Berikut adalah unduhan kodenya:
https://drive.google.com/file/d/0B3msld7qnNOhSGZGdDJJMmY0VHM/view?usp=sharing
@ ankushagarwal telah membuat beberapa perubahan dan mengupload versinya di GitHub: https://github.com/ankushagarwal/nweb
sumber
Saya telah menulis sendiri yang dapat Anda gunakan. Karya yang satu ini memiliki sqlite, thread safe dan dalam C ++ untuk UNIX.
Anda harus dapat memilihnya dan menggunakan kode yang kompatibel dengan C.
http://code.google.com/p/mountain-cms/
sumber
Spesifikasi HTTP dan Firebug sangat berguna bagi saya ketika saya harus melakukannya untuk pekerjaan rumah saya .
Semoga beruntung dengan milikmu. :)
sumber
Saya sarankan melihat sumber ke sesuatu seperti lighthttpd .
sumber
http://www.manning.com/hethmon/ - "Illustrated Guide to HTTP oleh Paul S. Hethmon" dari Manning adalah buku yang sangat bagus untuk mempelajari protokol HTTP dan akan sangat berguna bagi seseorang yang mengimplementasikan / memperluasnya.
sumber
Gunakan fungsi soket khusus platform untuk merangkum protokol HTTP, seperti yang dilakukan orang di belakang Apache .
sumber
Ada duplikat dengan lebih banyak tanggapan .
Salah satu kandidat yang belum disebutkan adalah spserver .
sumber