博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HTTP协议基础-4-HTTP请求(理论)
阅读量:4302 次
发布时间:2019-05-27

本文共 1642 字,大约阅读时间需要 5 分钟。

这篇来学习下HTTP请求,发送一个HTTP请求,其中的消息内容同样遵守上一篇的四个部分,本篇先从请求的角度,展开这四个部分,主要就是三个部分,请求起始行,请求头和字段,请求正文,最后来一个通过浏览器自带的debug工具来看看本篇和前面学习那些概念,看看能不能对得上。通过这种实战,更好了解这些名词的概念和作用。

先解释以下前面CRLF这个缩写的含义:回车换行的意思。

 

1.请求起始行

Request起始行以方法(常见Get 和Post)标记开头,后跟Request-URI和协议版本.以回车换行结束。以下是一个例子

get https://www.baidu.com/ http/1.1

现在浏览器上按下F12,关于请求起始行已经没有这么规范格式写了,我记得HttpWatch这个工具是有的,但是这个工具免费版本功能基本上没法用,专业版又要收费,不太推荐这个工具。(网上免费key 破解版除外)

 

2.请求方法

上面提到了请求方法,大部分人只指定get和post,以及put和delete,当然其他几个不常用,记不住也是可

Get GET方法用于使用给定的URI从给定服务器检索信息。 使用GET的请求应仅检索数据,并且不应对数据产生其他影响。记住一句话就像:get是从服务器拿数据。
Post post请求就是往服务器发送数据,例如用户注册和文件上传,记住这句话:post是写入数据到服务器。
Head 和Get类似,但它只传输状态行和头部分
Put 用上传内容替换目标资源内容,就是更新资源的操作。
Delete 通过请求URI,从服务器上删除对应的资源。
Connect 建立到给定URI标识的服务器的连接。
Options 描述目标资源的通信选项。
Trace 随着目标资源的路径执行消息循环测试。

重点掌握get和post,然后是Put和Delete,其他可以不去学习。

 

3.请求头字段

请求头字段允许客户端将有关请求以及客户端本身的其他信息传递给服务器。例如,告诉服务器,客户端是什么压缩格式,服务端如果支持这种压缩格式,就会返回对应压缩格式的内容。还有编码等。在请求头有多少个字段,取决于需求,以下是一些重要的请求头字段。

Accept-CharsetAccept-EncodingAccept-LanguageAuthorizationExpectFromHostIf-MatchIf-Modified-SinceIf-None-MatchIf-RangeIf-Unmodified-SinceMax-ForwardsProxy-AuthorizationRangeRefererTEUser-Agent

以下看一个Get和Post请求的消息

Get请求消息

GET /hello.htm HTTP/1.1User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)Host: www.tutorialspoint.comAccept-Language: en-usAccept-Encoding: gzip, deflateConnection: Keep-Alive

Post请求消息

POST /cgi-bin/process.cgi HTTP/1.1User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)Host: www.tutorialspoint.comContent-Type: application/x-www-form-urlencodedContent-Length: lengthAccept-Language: en-usAccept-Encoding: gzip, deflateConnection: Keep-AlivelicenseID=string&content=string&/paramsXML=string

 

转载地址:http://fjows.baihongyu.com/

你可能感兴趣的文章
Swagger在Laravel项目中的使用
查看>>
Laravel 的生命周期
查看>>
CentOS Docker 安装
查看>>
Nginx
查看>>
Navicat远程连接云主机数据库
查看>>
Nginx配置文件nginx.conf中文详解(总结)
查看>>
Mysql出现Table 'performance_schema.session_status' doesn't exist
查看>>
MySQL innert join、left join、right join等理解
查看>>
vivado模块封装ip/edf
查看>>
sdc时序约束
查看>>
Xilinx Jtag Access/svf文件/BSCANE2
查看>>
NoC片上网络
查看>>
开源SoC整理
查看>>
【2020-3-21】Mac安装Homebrew慢,解决办法
查看>>
influxdb 命令行输出时间为 yyyy-MM-dd HH:mm:ss(年月日时分秒)的方法
查看>>
已知子网掩码,确定ip地址范围
查看>>
判断时间或者数字是否连续
查看>>
docker-daemon.json各配置详解
查看>>
Mac 下docker路径 /var/lib/docker不存在问题
查看>>
Docker(一)使用阿里云容器镜像服务
查看>>