HTTP协议学习笔记

模型


HTTP请求包括:

  1. 请求行(请求方法)
  2. 请求头(消息包头)
  3. 请求正文
例子:

POST /login.html HTTP/1.1 //请求行,POST为请求方法,/login.html为请求的页面,最后为HTTP协议版本

HOST:www.xxxuser.com  //这个及以下为请求头,当然实际不止这么少
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
//这里有个空白行,代表请求头结束
username=admin&password=admin //请求正文,不一定有


下面是访问百度的请求头



HTTP响应包括:

  1. 响应行
  2. 响应头(消息报头)
  3. 响应正文(消息主题)
例子:

HTTP/1.1 200 ok//响应行
Date:Thu,28 Feb 2015 07:34:47 GMT //这行及以下为响应头
Server:BWS/1.0
Content-length:4199
Content-type:text/html;chartset=utf-8
Cache-Control:private
Expiress;Thu,28 Feb 2015 07:34:47 GMT
Cache-Encoding:gzip
Set-Cookie:H_PS_PSSID=2022_1438_1944_1788;path=/;domain=.xxxx.com
Connection:Keep-Alive
//空白行,代表响应头结束


下面是访问百度的响应头



利用telnet手工模拟HTTP请求

1.打开windows的控制台,

输入telnet www.baidu.com 80 (默认的端口23没开放)

为什么后面还要加个80呢,这是请求80端口的意思,另外还有的话就是23端口没打开,如下图:


输入telnet www.baidu.com 80 后如下图


2.按下组合键 Ctrl+]


3.按一下回车


4.输入HTTP请求(手速要极快【估计只能顶级打字员能行】,不然会遗失主机的连接(通俗来说就是断开了连接) ,我们还是乖乖打好复制粘贴吧,这里面只能用右键选择粘贴,不能用键盘快捷键)

example:

GET / HTTP/1.1
HOST:www.baidu.com

输完或者粘贴完敲两下回车!!!!

POST / HTTP/1.1
HOST: www.baidu.com 


HEAD / HTTP/1.1
HOST: www.baidu.com  


原文地址:https://www.cnblogs.com/cnsec/p/13286586.html