http入门(代码片段)

whhjdi whhjdi     2022-10-29     350

关键词:

HTTP www 互联网

---

##URI:统一资源标识符
URL:统一资源定位符
URN:统一资源名称

##HTTP:超文本传输协议
###HTTP请求:
curl -s -v -H "muxue: xxx" -- "https://www.baidu.com"
用 curl 创造一个请求,并得到响应
用 curl 创造一个请求,并得到响应
请求的内容为

> GET / HTTP/1.1
> Host: www.baidu.com
> User-Agent: curl/7.58.0
> Accept: */*
> muxue: xxx
>

curl -X POST -s -v -H "muxue: xxx" -- "https://www.baidu.com"
请求的内容为

> POST / HTTP/1.1
> Host: www.baidu.com
> User-Agent: curl/7.58.0
> Accept: */*
> muxue: xxx
>

curl -X POST -d "1234567890" -s -v -H "muxue: xxx" -- "https://www.baidu.com"
请求的内容为

> POST / HTTP/1.1
> Host: www.baidu.com
> User-Agent: curl/7.58.0
> Accept: */*
> muxue: xxx
> Content-Length: 10
> Content-Type: application/x-www-form-urlencoded
>

>1234567890
请求最多包含四部分,最少包含三部分。(也就是说第四部分可以为空)
第三部分永远都是一个回车(\n)
动词有 GET POST PUT PATCH DELETE HEAD OPTIONS 等
这里的路径包括「查询参数」,但不包括「锚点」
如果你没有写路径,那么路径默认为 /
第 2 部分中的 Content-Type 标注了第 4 部分的格式

###用 Chrome 发请求
打开 Network
地址栏输入网址
在 Network 点击,查看 request,点击「view source」
点击「view source」
点击「view source」
点击「view source」
终于点了?可以看到请求的前三部分了
如果有请求的第四部分,那么在 FormData 或 Payload 里面可以看到
响应
请求了之后,应该都能得到一个响应,除非断网了,或者服务器宕机了。

###响应示例
上面三个请求示例,前两个请求对应的响应分别为

< HTTP/1.1 200 OK
< Accept-Ranges: bytes
< Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
< Connection: Keep-Alive
< Content-Length: 2443
< Content-Type: text/html
< Date: Sat, 31 Mar 2018 10:07:20 GMT
< Etag: "588603eb-98b"
< Last-Modified: Mon, 23 Jan 2017 13:23:55 GMT
< Pragma: no-cache
* Server bfe/1.0.8.18 is not blacklisted
< Server: bfe/1.0.8.18
< Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
<

<!DOCTYPE html>.......

< HTTP/1.1 302 Found
< Connection: Keep-Alive
< Content-Length: 17931
< Content-Type: text/html
< Date: Sat, 31 Mar 2018 10:07:59 GMT
< Etag: "54d97487-460b"
* Server bfe/1.0.8.18 is not blacklisted
< Server: bfe/1.0.8.18
<

<<html>

<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">


响应的格式
协议/版本号 状态码 状态解释
Key1: value1
Key2: value2
Content-Length: 17931
Content-Type: text/html

 

状态码要背,是服务器对浏览器说的话
1xx 不常用
2xx 表示成功
3xx 表示滚吧
4xx 表示你丫错了
5xx 表示好吧,我错了
状态解释没什么用
第 2 部分中的 Content-Type 标注了第 4 部分的格式
第 2 部分中的 Content-Type 遵循 MIME 规范
用 Chrome 查看响应
打开 Network
输入网址
选中第一个响应
查看 Response Headers,点击「view source」,点击「view source」,点击「view source」
你会看到响应的前两部分
查看 Response 或者 Preview,你会看到响应的第 4 部分

curl是基于URL语法在命令行方式下工作的文件传输工具,支持FTP,FTPS,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE及LDAP等协议。

curl支持HTTPS认证,并且支持HTTP的POST,PUT等方法,FTP上传,HTTP上传,代理服务器,cookies,用户名/密码认证,通过http代理服务器上传文件到FTP服务器等等

太强大了,消化不了,暂时就这样吧

 

http协议入门(代码片段)

HTTP协议是互联网的基础协议,也是网页开发的必备知识,最新版本HTTP/2更是让它成为技术热点。本文介绍HTTP协议的历史演变和设计思路。一、HTTP/0.9HTTP是基于TCP/IP协议的应用层协议。它不涉及数据包(packet)传输,主要规定了... 查看详情

http协议入门(代码片段)

HTTP协议是互联网的基础协议,也是网页开发的必备知识,最新版本HTTP/2更是让它成为技术热点。本文介绍HTTP协议的历史演变和设计思路。一、HTTP/0.9HTTP是基于TCP/IP协议的应用层协议。它不涉及数据包(packet)传输,主要规定了... 查看详情

http协议入门(代码片段)

HTTP协议入门1.HTTP是基于TCP/IP协议的应用层协议。2.最开始的版本0.9版:只有一个命令GET;服务器只能回应HTML格式的字符串,不能回应别的格式;服务器发送完毕,就关闭TCP连接。3.HTTP/1.0版本简介:1.可以... 查看详情

nodejs入门:常用模块汇总之http模块(代码片段)

...块是nodejs中非常重要的模块,本文从3个demo入手,入门学习http模块简单demo主要步骤:引入http模块创建服务器服务器监听某指定端口给出响应结束响应代码://引入模块consthttp=require("http");//创建服务器http.... 查看详情

go语言http包简易入门(代码片段)

说道go语言web编程,必不可少的会使用到net/http包。go语言将web开发需要使用到的很多内容都放在了标准库中——net/http。如何写一个简单的web程序很容易。如下:1packagemain23import(4"fmt"5"net/http"6)78funchello(whttp.ResponseWriter,r*http.... 查看详情

requests模块简单入门(代码片段)

 #HTTP请求类型#get类型r=requests.get(‘https://github.com/timeline.json‘)#post类型r=requests.post("http://m.ctrip.com/post")#put类型r=requests.put("http://m.ctrip.com/put")#delete类型r=requests.delete("http:/ 查看详情

flowable入门系列文章48-http任务(代码片段)

Http任务允许您发出HTTP请求,增强Flowable的集成功能。请注意,Http任务不是BPMN2.0规范的正式任务(因此没有专门的图标)。因此,在Flowable中,Http任务是作为一个专门的服务任务来实现的。1、Http客户端配... 查看详情

http协议入门-历史演化(代码片段)

当我们在浏览器的地址栏输入URL后,信息会被发送到WEB服务器,服务器得到响应,将数据传输回来,展示到WEB页面上,这其中的传输方法就是HTTP协议。一、HTTP0.9发布于1991年,是首个HTTP版本,功能简单。只支持GET请求方法,服... 查看详情

django入门(代码片段)

一、http协议http协议即:HyperTextTransferProtocol(超文本传输协议),于1990年提出,是用于万维网(WorldWideWeb)服务器与本地浏览器之间传输超文本的传送协议1.1http协议的特性基于TCP/IP协议之上的应用层协议基于请求-响应模式HTTP协议... 查看详情

http从入门到入土——http报文格式(代码片段)

HTTP报文格式HTTP报文分为请求报文和响应报文,只有发送了请求报文,才会有响应报文。常见的报文格式如下所示:请求报文一个请求报文由四部分组成,分别是:请求行请求头空行请求正文请求行请求行由三部分组成,分别是... 查看详情

狂神说javajavaweb入门到实战--http协议详解(代码片段)

目录狂神视频地址1什么是Http2、两个时代3、Http请求3.1.请求行3.2.请求头4、Http响应4.1.响应体4.2.响应状态码5、常见面试题狂神视频地址https://www.bilibili.com/video/BV12J411M7Sj?p=21什么是Http  超文本传输协议(HyperTextTransferProtoc... 查看详情

golangweb入门07路由-http.servemux(代码片段)

阅读目录说明ServeMux和Handler重构:区分不同的Handler查看http.HandleFunc源码重构:使用自定义的ServeMuxhttp.ServeMux的局限性URI路径参数请求方法过滤不支持路由命名http.ServeMux的优缺点标准库里的就是最好的?说明goblog需要... 查看详情

golangweb入门07路由-http.servemux(代码片段)

阅读目录说明ServeMux和Handler重构:区分不同的Handler查看http.HandleFunc源码重构:使用自定义的ServeMuxhttp.ServeMux的局限性URI路径参数请求方法过滤不支持路由命名http.ServeMux的优缺点标准库里的就是最好的?说明goblog需要... 查看详情

flume基础:快速入门(代码片段)

1Flume安装地址1)Flume官网地址http://flume.apache.org/2)文档查看地址http://flume.apache.org/FlumeUserGuide.html3)下载地址http://archive.apache.org/dist/flume/2安装部署1)将apache-flume-1.7.0-bin.tar.gz上传到linux的/opt/software目录 查看详情

activemq入门实例(代码片段)

ActiveMq入门实例:1.下载ActiveMQ去官方网站下载:http://activemq.apache.org/2.运行ActiveMQ解压缩apache-activemq-5.5.1-bin.zip,然后双击apache-activemq-5.5.1inactivemq.bat运行ActiveMQ程序。启动ActiveMQ以后,登陆:http://localhost:8161/ad 查看详情

aop入门案例-基于xml(代码片段)

  <?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.o 查看详情

python爬虫入门教程--优雅的http库requests(代码片段)

...很多特性,下面这篇文章主要给大家介绍了python爬虫入门中关于优雅的HTTP库requests的相关资料,需要的朋友可以参考下。前言urllib、urllib2、urllib3、httplib、htt 查看详情

springsecurity入门案例(代码片段)

1、搭建一个springboot项目2、导入相应jar包Maven坐标 完整pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http:/ 查看详情