Hypertext Transfer Protocol (ראשי תיבות: HTTP) הוא פרוטוקול תקשורת שנועד להעברת דפי HTML ואובייקטים שהם מכילים (כמו תמונות, קובצי קול, סרטונים וכו') ברשת האינטרנט וברשתות אינטראנט. הפרוטוקול פועל בשכבת היישום של מודל ה-OSI ובשכבת היישום של מודל TCP/IP. שרתי HTTP הם שרתי התוכן המרכזיים ברשת האינטרנט ודפדפנים הם תוכנות הלקוח הנפוצות ביותר לפרוטוקול HTTP. הדרך הנפוצה ביותר כיום להשתמש בפרוטוקול היא HTTPS, שמוסיף הצפנה מעל הפרוטוקול.
התקשורת ב־HTTP מתחילה ביצירת שיחה בין השרת ללקוח באמצעות פרוטוקול TCP או UDP בגרסה 3 של הפרוטוקול, ונמשכת בסדרה של בקשות (requests) ותשובות (responses) שנשלחות על ידי הלקוח והשרת, בהתאמה. ראשית, הלקוח יוצר חיבור לכתובת ה-IP ולפורט שבו השרת נמצא, בדרך כלל פורט 80 או 443. לאחר מכן נשלחת הבקשה, הכוללת את הכתובת של האובייקט המבוקש (למשל, דף HTML) ופרטים נוספים על הבקשה ועל הלקוח. השרת קורא את הבקשה, מפענח אותה, שולח ללקוח תשובה בהתאם ומנתק את החיבור ללקוח כשהשליחה הסתיימה, או משאיר אותו פתוח לבקשות נוספות.
מעצם הגדרתו, פרוטוקול HTTP הוא stateless protocol – חסר מצבים. על מנת ליצור תקשורת בין הלקוח לשרת שמבוססת על היסטוריית הבקשות-תשובות בין השרת ללקוח נעשה שימוש בעוגיות (cookies). לדוגמה, שרת יכול לבקש ממחשב הלקוח לשמור עוגייה עם אישור שהלקוח התחבר לחשבון מסוים עם סיסמה נכונה על מנת שלא יצטרך להקיש סיסמה בכל התחברות מחדש לאתר שמתארח על השרת.