初识HTTP

初识HTTP


URI        URL        URL

URI:Uniform Resource Identifier,统一资源标识符

URL:Uniform Resource Locator,统一资源定位符

URN:Uniform Resource Name,统一资源名称

URL和URN相当于URI的子集,我们通常使用URL作为网址

URL包括:

以百度为例:https://www.baidu.com/s?wd=hello&rsv_spt=1#5,网站的地址包含了协议,域名,路径,查询参数,锚点和端口

计算机与服务器的交互


初识HTTP_第1张图片

入上图所示,首先用户通过发起请求,之后服务器会在80端口(http)接收请求,服务器返回内容,最后浏览器负责下载返回内容并解析。

请求的示例:

curl -s -v --"https://www.baidu.com"

请求的内容为:GET / HTTP/1.1

                        Host: www.baidu.com

                        User-Agent: curl/7.54.0
                        Accept: * / *

curl -X POST -d "1234567890" -s -v -H "Frank: xxx" -- "https://www.baidu.com"

请求的内容为:POST / HTTP/1.1
                        Host: www.baidu.com
                        User-Agent: curl/7.54.0
                        Accept: * / *
                        Frank: xxx
                        Content-Length: 10
                        Content-Type: application/x-www-form-urlencoded

                        1234567890

请求的格式为:动词(get、post、put*更新-全部*,patch*更新-部分*、delete) 路径 协议/版本(这些为第一部分)

                          key:value
                          key:value
                          key:value
                          key:value(第二部分)
                          第三部分为回车,必不可少的,作用是断开第二部分和第四部分
                          第四部分为要上传的数据

Content-Length表示内容长度                  Content-Type表示一种编码方式

响应的格式为:协议/版本号  状态码  状态解释

同样也是key:value的形式,也分为4部分 ,最后一部分为要下载地数据



HTTP协议基于TCP/IP

TCP(transmission control protocal)传输控制协议

TCP协议和UDP协议的区别:TCP是可靠的,面向链接的,相对于UDP较慢;UDP是不可靠,不面向连接、相对TCP较快。

TCP的三次握手:每次建立连接前,客户端和服务器总会进行三次对话才开始正式传输内容。

大概内容:我要连接你,可以吗?好的,我准备好了,连吧。那我连了啊!

IP:

      分为内网和外网,他们之间通过路由器来链接。切内外网之间不可直接相互访问,但是内网与内网、外网与外网可以相互访问。

本机IP:127.0.0.1

    想要访问一个设备端口是必不可少的,端口可以理解为是谁在给你服务。

    0~1023这1024个端口是服务器留给管理员的,普通用户无法使用,如果一个端口正在服务,则不能再次使用这个端口(一对一服务),如果想用这个端口必须终止当前的服务。

你可能感兴趣的:(初识HTTP)