HTTP协议

HTTP协议简介

当客户端与web服务器交互,就存在web请求。这种请求都是基于统一的应用层协议HTTP交互数据。

HTTP协议解析

HTTP超文本传输协议,详细规定了浏览器和万维网服务器之间相互通信的规则,是万维网交互信息的交出,它允许将HTTP文档从WEB服务器传送到WEB浏览器。


如何发一个请求呢?
1、当在浏览器中输入一个URL时,按回车键后这个HTTP请求就发起了,之后就会返回这个请求的结果。


URL(统一资源定位符)也被称为网页地址。
URL的标准格式: 协议://服务器IP/路径/文件名。

请求略图:
请求略图


2、不用浏览器请求,借助很多工具发起HTTP请求,如Linux系统的curl命令。
windows中也可用curl.exe工具发起请求,
这里写图片描述
这里写图片描述

也可以查看访问URL后服务器返回的HTTP响应头,加上-I选项即可,

这里写图片描述

3、用telnet进行模拟访问HTTP请求访问。

第一步:打开cmd,输入telnet www.baidu.com 80 回车键(此时为黑屏状态),然后利用快捷键“Ctrl+]”打开telnet回显(telnet默认不回显),如下图:
这里写图片描述

第二步:键入回车键进入编辑状态:
这里写图片描述

第三步:输入GET /index.html HTTP/1.1,键入回车,接着输入Host:www.baidu.com 接着连续键入两次回车。(两次回车代表提交请求)输入速度一定要快,否则将会连接失败。或者将代码写入记事本,用时直接cope即可,如下图:

不知道为什么win10请求不了,

注意可以通过telnet 探测别人的端口,telnet是通过三次握手,非常靠谱。

HTTP歇息详解

最重要的是HTTP协议中的HTTP header,HTTP header能明确告诉我们请求结果。
HTTP请求分析:


Request请求信息:

GET /index.php HTTP/1.1
Host: www.2cto.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:15.0) Gecko/20100101 Firefox/15.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive



HTTP请求方法详细解释
GET请求获取由Request-URI所标识的资源。
POST请求获取由Request-URI所标识的资源的响应消息报头。
HEAD请求获取由Request-URI所标识的资源的响应消息报头。
OPTIONS请求查询服务器的性能,或查询与资源相关的选项和需求。
PUT请求服务器存储一个资源,并用Request-URI作为其标识。
DELETE请求服务器删除由Request-URI所标识的资源。
TRACE请求服务器回送收到的请求信息,主要用语测试或诊断。

常见请求头解释
User-Agent客户端将它的操作系统、浏览器和其它属性告诉服务器
Host指定被请求资源的主机地址和端口号,如Host: www.2cto.com
Connection当前连接是否保持,如Connection: Keep-Alive
Accept-Language指定一种自然语言,如Accept-Language: zh-cn
Accept浏览器可接受的MIME类型

HTTP响应:

HTTP/1.1 200 OK
Date: Thu, 28 Feb 2013 07:36:47 GMT
Server: BWS/1.0
Content-Length: 4199
Content-Type: text/html;charset=utf-8
Cache-Control: private
Expires: Thu, 28 Feb 2013 07:36:47 GMT
Content-Encoding: gzip
Set-Cookie: H_PS_PSSID=2022_1438_1944_1788; path=/; domain=.2cto.com
Connection: Keep-Alive



常见HTTP状态码解释
200客户端请求成功
302临时跳转,跳转的地址通过location指定
400客户端请求语法错误,服务器无法识别
401请求未经授权
403服务器收到请求,但是拒绝提供服务
404请求资源不存在
500服务器内部错误

常见HTTP响应头解释
ServerWEB服务器名称,,如Server:Apache/1.3.6(Unix)
Content-Type用来指明发送给接受者的实体正文的媒体类型
Content-Length指明实体正文长度
Keep-Alive保持连接时间
Date网站最后一次改变的格林时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值